我正在尝试从Teradata的连接中获取默认数据库名称。我正在使用Teradata JDBC Driver 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();
}
}
}
答案 0 :(得分:5)
如果查看getSchema()
的javadoc,您会注意到以下内容:
<强>时间:强>
1.7
这意味着您需要一个Java 7驱动程序,并且错误消息中的类名明显表明您正在使用Java 6驱动程序:
com.teradata.jdbc.jdk6.JDK6_SQL_Connection
用符合Java 7(JDBC 4.1)的驱动程序替换驱动程序.jar文件。
或者不使用Java 7功能。