JDBC connection.getschema()AbstractMethodError [英] JDBC connection.getschema() AbstractMethodError
问题描述
我正在尝试从连接中获取Teradata的默认数据库名称.我正在使用Teradata JDBC驱动程序15.10.00.33.
I am trying get the default database name from the connection for Teradata. I am using Teradata JDBC Driver 15.10.00.33.
以下代码给了我这个抽象方法错误.谁能建议我如何使用jdbc获取默认数据库名称?
The following code gives me this abstract method error. Can anyone suggest me how I can get default database name using jdbc?
Exception in thread "main" java.lang.AbstractMethodError: com.teradata.jdbc.jdk6.JDK6_SQL_Connection.getSchema()Ljava/lang/String;
public class TestTDConnection {
public static void main(String args[]) {
String tdConnString = "jdbc:teradata://xx/database=xx";
try {
Connection conn = DriverManager.getConnection(tdConnString,"xx","xx");
System.out.println(conn.getSchema());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
推荐答案
If you look at the javadoc for getSchema()
, you will notice the following:
由于:
1.7
Since:
1.7
这意味着您需要Java 7驱动程序,并且错误消息中的类名明显表明您正在使用Java 6驱动程序:
That means you need a Java 7 driver, and the classname in the error message is an obvious indication that you're using a Java 6 driver:
com.teradata.jdbc.jdk6.JDK6_SQL_Connection
用兼容Java 7(JDBC 4.1)的驱动程序替换驱动程序.jar文件.
Replace the driver .jar file with a Java 7 (JDBC 4.1) compliant driver.
或者不使用Java 7功能.
Or don't use Java 7 features.
这篇关于JDBC connection.getschema()AbstractMethodError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!