当前位置: 首页 > news >正文

大概开发一个网站多少钱搭建网站的方案

大概开发一个网站多少钱,搭建网站的方案,湟源县公司网站建设,网站上怎么做弹幕效果问题描述 JDK8使用ojdbc8驱动操作oracle11g数据库,使用JDBC复用 PreparedStatement 对象执行Insert操作时,报错java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。,经测试发现,是预编译对象某个占位符号被赋…

问题描述

JDK8使用ojdbc8驱动操作oracle11g数据库,使用JDBC复用 PreparedStatement 对象执行Insert操作时,报错java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。,经测试发现,是预编译对象某个占位符号被赋值为NULL后,再次尝试赋值为2个汉字,执行时就会报错:

Caused by: java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:702)at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:608)at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1248)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1041)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:443)at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:518)at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:251)at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1181)at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1571)at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1345)at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3728)at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:3905)at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3880)at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:993)at com.p6spy.engine.wrapper.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:94)at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:241)

问题复现

测试表DDL

CREATE TABLE "TEST_TABLE" ("TEST_COLUMN" VARCHAR2(255 BYTE)
)

java代码

   @Testpublic void testOracleChineseInsert() {try (Connection oracleConnection = getOracleConnection()) {Statement statement = oracleConnection.createStatement();statement.execute("truncate table TEST_TABLE");PreparedStatement preparedStatement = oracleConnection.prepareStatement("INSERT INTO TEST_TABLE VALUES (?)");List<String> list = new ArrayList<>();list.add("你好");list.add(null);list.add("你好");for (String data : list) {try {preparedStatement.setString(1, data);preparedStatement.executeUpdate();} catch (SQLException e) {throw new RuntimeException(e);}}} catch (SQLException e) {throw new RuntimeException(e);}}

ORACLE数据库字符集

-- 查询字符集
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
-- 查询结果
NLS_CHARACTERSET	ZHS16GBK
NLS_NCHAR_CHARACTERSET	AL16UTF16

依赖版本

<dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>23.2.0.0</version>
</dependency>

执行结果

前两条记录能新增成功,第三条记录报错 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

解决办法

更换驱动版本后发现该BUG已被修复,更新驱动版本(推荐)

<dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>23.6.0.24.10</version>
</dependency>

或者代码中避免复用预编译对象,每个语句新建一个预编译对象(不推荐)

   @Testpublic void testOracleChineseInsert() {try (Connection oracleConnection = getOracleConnection()) {Statement statement = oracleConnection.createStatement();statement.execute("truncate table TEST_TABLE");List<String> list = new ArrayList<>();list.add("你好");list.add(null);list.add("你好");for (String data : list) {try {PreparedStatement preparedStatement = oracleConnection.prepareStatement("INSERT INTO TEST_TABLE VALUES (?)");preparedStatement.setString(1, data);preparedStatement.executeUpdate();} catch (SQLException e) {throw new RuntimeException(e);}}} catch (SQLException e) {throw new RuntimeException(e);}}
http://www.15wanjia.com/news/176241.html

相关文章:

  • 健身网站开发过程中遇到的麻烦怎么制作弹幕网站
  • 网站cms在线识别在家做的打字兼职的网站
  • HTML5做网站例子如何做手机网站
  • django完整网站开发一般一个网站从建设到运营要多久
  • 如何做自己网站的访问记录微信公众平台二次开发
  • 做企业营销网站大连住房保障网官网
  • 知名网站建设设计网站数据库安装教程
  • 网站 色彩方案北京冬奥会吉祥物设计制作
  • 大悟网站建设网络科技官网网站建设
  • 公司网站建设方案模板下载北京游戏公司排名
  • 湛江专业网站建设公司用iis制作简单网站
  • 淄博网站推广wordpress如何添加模板文件夹
  • 查询网站备案时间网页站点怎么命名
  • 潍坊建设网站多少钱电商平台项目商业计划书
  • 城乡住房建设部网站造价师网电商运营教程
  • 驻马店网站建设电话软件公司名字起名大全
  • 今天国际新闻消息河源市企业网站seo价格
  • 网站正在建设中中文网站建设h5
  • 网站建设费用入账山西企业建站系统平台
  • vi设计可以做哪方面的昆明seo网站
  • 网站备案注销找哪个部门快代理官网
  • 设计友好的网站标题翻译为英文wordpress
  • 个人主页网站开发背景设计app的软件有哪些
  • 网站建设通用代码石碣做网站优化
  • 东莞网站建设员网店推广方法
  • 网站支付接口怎么做网页的制作方法
  • 宁波企业网站推广效果好北京优化互联网公司
  • 备案号怎么添加到网站网站内容如何管理
  • 二级网站开发 一级关系百度推广在哪里能看到
  • 企业网站设计html做网站初始配置