gpt4 book ai didi

java - JDBC 到配置单元的连接因无效操作 isValid() 而失败

转载 作者:可可西里 更新时间:2023-11-01 15:12:33 29 4
gpt4 key购买 nike

我关注了this doc 尝试建立到配置单元的 jdbc 连接。但是eclipse显示这个错误。似乎没有弄清楚它的确切含义,并且与适当的密码和用户名的连接在直线上工作,所以它不是身份验证的问题。下面是我面临的错误:

> 15/11/27 13:15:41 INFO jdbc.Utils: Supplied authorities: localhost:10000
> 15/11/27 13:15:41 INFO jdbc.Utils: Resolved authority: localhost:10000
> 15/11/27 13:15:41 INFO jdbc.HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default
> Exception in thread "main" java.sql.SQLException: Method not supported
at org.apache.hive.jdbc.HiveConnection.isValid(HiveConnection.java:1026)
at HiveJDBC.main(HiveJDBC.java:21)

代码如下:

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveJDBC {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";

public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hive", "PASSWORD");
if(con.isValid(0)){
System.out.println("success");
}else{
System.out.println("fail");
}

Statement stmt = con.createStatement();
String tableName = "tabledriver";
//stmt.executeQuery("create database " + tableName);

}
}

最佳答案

您的来电

if(con.isValid(0)){

合法 - 但不是由 Hive JDBC 驱动程序实现

参见 Hive Source :

@Override
public boolean isValid(int timeout) throws SQLException {
// TODO Auto-generated method stub
throw new SQLException("Method not supported");
}

用简单的 if(con != null) 替换检查,你会没事的。

关于java - JDBC 到配置单元的连接因无效操作 isValid() 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33995821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com