我正在尝试从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功能。

09-27 00:46
查看更多