JDBC connection.getschema()AbstractMethodError

时间:2016-12-23 22:48:07

标签: java jdbc teradata

我正在尝试从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();
        }
    }

}

1 个答案:

答案 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功能。