[英]JDBC connection.getschema() AbstractMethodError
I am trying get the default database name from the connection for Teradata.我正在尝试从 Teradata 的连接中获取默认数据库名称。 I am using Teradata JDBC Driver 15.10.00.33.
我正在使用 Teradata JDBC 驱动程序 15.10.00.33。
The following code gives me this abstract method error.下面的代码给了我这个抽象方法错误。 Can anyone suggest me how I can get default database name using jdbc?
谁能建议我如何使用 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:如果您查看
getSchema()
的 javadoc,您会注意到以下内容:
Since:
自从:
1.71.7
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:这意味着您需要 Java 7 驱动程序,并且错误消息中的类名明显表明您正在使用 Java 6 驱动程序:
com.teradata.jdbc.jdk6.JDK6_SQL_Connection
Replace the driver .jar file with a Java 7 (JDBC 4.1) compliant driver.将驱动程序 .jar 文件替换为符合 Java 7 (JDBC 4.1) 的驱动程序。
Or don't use Java 7 features.或者不使用 Java 7 功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.