JDBC connection.getschema()AbstractMethodError
问题描述:
我想从Teradata连接中获取默认数据库名称。我正在使用Teradata JDBC Driver 15.10.00.33。JDBC connection.getschema()AbstractMethodError
下面的代码给了我这个抽象方法的错误。任何人都可以建议我如何使用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();
}
}
}
答
如果你看的Javadoc getSchema()
,你会发现以下内容:
由于:
1.7
这意味着你需要一个Java 7的驱动程序,并在错误消息类名是您使用的是Java 6的驾驶员一个明显的迹象:
com.teradata.jdbc.jdk6.JDK6_SQL_Connection
替换驱动程序.jar文件与Java 7(JDBC 4.1)兼容的驱动程序。
或者不要使用Java 7功能。
这是Teradata拥有的最新驱动程序。我想我必须找到另一种获取默认数据库名称的方法。 –
我建议你问*他们*,因为[他们声称](http://developer.teradata.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_1.html)Teradata JDBC驱动程序版本15.10支持JDK 8. – Andreas
我也看到了。我已经在Teradata论坛上发布了。让我看看我能得到什么。感谢您的意见。 –