繁体   English   中英

未捕获的可抛出 java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf

[英]Uncaught Throwable java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf

尝试在具有数据源池连接的 Microsoft SQL 服务器上调用 con.createArrayOf 方法时出现以下错误

未捕获的可抛出 java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sqlArray;)

任何领先都将是可观的。

基本上,您不能在当前库中使用 createArrayOf 方法。 您必须使用不同的数据库驱动程序库。

您可以使用https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server 之类的东西,因为您使用的是 SQL 服务器。

The error suggests you are using Apache DBCP 1.3 or older, as the method you are trying to call was introduced in JDBC 4 (Java 6), while Apache DBCP 1.3 supports JDBC 3 (Java 1.4/5).

Given the overview at https://commons.apache.org/proper/commons-dbcp/ you need to use at minimum Apache DBCP 1.4, or a newer version (the latest is 2.7.0, for Java 8 and higher).

Note though that upgrading won't help you much, because the Microsoft SQL Server JDBC driver implementation of createArrayOf will throw a SQLFeatureNotSupportedException as SQL Server doesn't support arrays.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM