英文:
Uncaught Throwable java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf
问题
我在尝试使用数据源池连接调用 Microsoft SQL Server 上的 con.createArrayOf 方法时遇到以下错误:
未捕获的可抛出对象
java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;
任何线索将不胜感激。
英文:
I getting below error while trying to call con.createArrayOf method on Microsoft SQL server with datasource pool connection
Uncaught Throwable
java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;
Any lead would be appreciable.
答案1
得分: 0
基本上,你不能在你当前的库中使用 createArrayOf 方法。你将不得不使用另一个数据库驱动程序库。
你可以使用类似这样的库:https://learn.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server,因为你正在使用 SQL Server。
英文:
Basically, you can't use the createArrayOf method with your current library. You'll have to use a different database driver library.
You could use something like https://learn.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server since you're using SQL Server.
答案2
得分: 0
错误提示表明您正在使用Apache DBCP 1.3或更早版本,因为您正在尝试调用的方法是在JDBC 4(Java 6)中引入的,而Apache DBCP 1.3支持JDBC 3(Java 1.4/5)。
根据https://commons.apache.org/proper/commons-dbcp/上的概述,您至少需要使用Apache DBCP 1.4或更新版本(最新版本为2.7.0,适用于Java 8及更高版本)。
请注意,尽管升级可能不会帮助您太多,因为Microsoft SQL Server JDBC驱动程序对createArrayOf
的实现将引发SQLFeatureNotSupportedException
,因为SQL Server不支持数组。
英文:
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.
专注分享java语言的经验与见解,让所有开发者获益!
评论