我正在尝试从Teradata的连接获取默认数据库名称。我正在使用Teradata JDBC驱动程序15.10.00.33。
以下代码给了我这个抽象方法错误。谁能建议我如何使用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();
}
}
}
最佳答案
如果查看getSchema()
的javadoc,则会注意到以下内容:
以来:
1.7
这意味着您需要一个Java 7驱动程序,并且错误消息中的类名明显表明您正在使用Java 6驱动程序:
com.teradata.jdbc.jdk6.JDK6_SQL_Connection
用Java 7(JDBC 4.1)兼容驱动程序替换驱动程序.jar文件。
或不使用Java 7功能。