JDBC connection.getschema() AbstractMethodError

JDBC connection.getschema() AbstractMethodError

我正在尝试从 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,您会注意到以下内容:

Since:
1.7

这意味着您需要 Java 7 驱动程序,错误消息中的类名明显表明您正在使用 Java 6 驱动程序:

com.teradata.jdbc.jdk6.JDK6_SQL_Connection

用 Java 7 (JDBC 4.1) 兼容的驱动程序替换驱动程序 .jar 文件。

或者不使用Java 7 个功能。