- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用如下所示的准备好的语句:
List<Integer> ids = new ArrayList<Integer>();
ids.add(SelectQueueRS.getInt("DTSId_int"));
PreparedStatement updateOriginal = connMain.prepareStatement(
"UPDATE test.selectiontable SET DTSStatusType_ti = 3, Queued_DialerIP_vch = ?" +
"WHERE DTSId_int IN (?)");
updateOriginal.setString(1, CurrRemoteIPAddress);
updateOriginal.setArray(2,connMain.createArrayOf("string", ids.toArray()));
updateOriginal.executeUpdate();
在线获取错误:
updateOriginal.setArray(2,connMain.createArrayOf("string", ids.toArray()));
这是我的堆栈跟踪:
Exception in thread "main" java.sql.SQLFeatureNotSupportedException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at com.mysql.jdbc.SQLError.notImplemented(SQLError.java:1329)
at com.mysql.jdbc.JDBC4Connection.createArrayOf(JDBC4Connection.java:56)
at project.Project.main(Project.java:295)
我浏览了一些旧的 Stackoverfollow 帖子,讨论了许多人在这里讨论的相同问题建议不要使用createArrayOf
方法。
1) 我想知道是否可以更新我的 JDBC 驱动程序,这样我就不必更改代码中的任何方法?但是在此之前,我必须检查 NEtbeans,我当前使用的是哪个版本。知道如何检查吗?
2)如果不是上述步骤,请告知我可以做哪些更改?
谢谢
我引用过的一些帖子:How to rectify the 'java.sql.SQLFeatureNotSupportedException' while using the createArrayOf() method
最佳答案
来自 statcktrace:
Exception in thread "main" java.sql.SQLFeatureNotSupportedException
很明显,您正在使用的驱动程序
不支持该功能。
- which version I am currently using.
使用您正在使用的驱动程序
实例,您可以找到其版本
。
int major = driver.getMajorVersion();
int minor = driver.getMinorVersion();
但是,据我所知,由于 MySQL 不支持自定义数据类型,例如 array
,因此更改驱动程序将不起作用。
- If not above step, please advise what changes I can do?
或者,您可以准备循环遍历值列表的查询并设置占位符,然后在执行之前设置值。
示例:
StringBuilder sqlSelect = new StringBuilder( 1024 );
sqlSelect.append( "UPDATE test.selectiontable " )
.append( "SET DTSStatusType_ti = 3, ")
.append( "Queued_DialerIP_vch = ? " )
.append( "WHERE DTSId_int IN ( " );
int paramCount = ids.size();
if( paramCount > 0 ) {
for( i = 0; i < paramCount; i++ ) {
sqlSelect.append( ( i > 0 ? ", ?" : "?" );
} // for each param
sqlSelect.append( " )" );
} // if ids list is not empty
// make the prepare statement (pst) with the above sql string
PreparedStatement pst =
connMain.prepareStatement( sqlStatement.toString() );
// now set the parameter values in the query
int paramIndex = 1;
pst.setString(paramIndex++, CurrRemoteIPAddress);
if( paramCount > 0 ) {
for( i = 0; i < paramCount; i++ ) {
pst.setLong( paramIndex++,
( (Integer)ids.get( i ) ).intValue() );
} // for each param
} // if ids list is not empty
pst.executeUpdate();
关于java - 尝试更新 mysql 驱动程序以摆脱 java.sql.SQLFeatureNotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22886133/
使用 MySQL 5.5、STS 2.9.2、mysql-connector-java-5.1.21-bin.jar 我想从 ResultSet 中获取一个数组。 所以我这样编码: try { C
我是java新手,正在使用eclipseLunaIDE,我对这段代码有一些问题,尝试使用不同版本的ojdbc jar运行这个程序,但这个问题仍然没有解决 PreparedStatement prepa
我有一个名为Role的模型。 role具有Permission的列表,就这么简单。 使用org.springframework.boot:2.2.5.RELEASE,spring-jdbc版本5.2.
我正在使用如下所示的准备好的语句: List ids = new ArrayList(); ids.add(SelectQueueRS.getInt("DTSId_int")); PreparedSt
我的代码如下: PreparedStatement pstm = con.prepareStatement("insert into parameter(Parameter) valu
如何在 Apache Drill 中设置动态查询参数。我尝试并收到错误消息:java.sql.SQLFeatureNotSupportedException: Prepared-statement d
我在准备语句中遇到错误 java.sql.SQLFeatureNotSupportedException。我正在使用 Mysql 数据库。 下面是我的代码。 class tmp { public st
运行下面的代码时出现异常。它是用Java 8编写的,并使用ojdbc8 jar进行数据库连接。数据库是Oracle 12.2.0.1.0。 String insertQuery = generateS
尝试将数据插入数据库。数据没有存储,我不明白这里有什么问题。 这些是要打印的错误消息的代码 System.out.println(e.getErrorCode());
情况如下:我试图在 PostgreSQL 数据库中存储/检索 byte[] 数组和 BLOBS。 我将 Scala Play 与 Anorm 一起使用,但是为了处理 BYTEA 和 BLOB,我已经回
我正在使用 Postgresql 8.4,我的应用程序正在尝试连接到数据库。我已经注册了驱动程序: DriverManager.registerDriver(new org.postgresql.Dr
我正在开发 Spring Boot 微服务 示例。在这个例子中,我使用了 config-server 和 licensing-service 并成功部署在 docker 上。当我调用 REST 端点时
我是一名优秀的程序员,十分优秀!