java 通过JDBC连接到远程HANA数据库时出现问题

g2ieeal7  于 2023-01-19  发布在  Java
关注(0)|答案(2)|浏览(389)

我正在笔记本电脑上运行一个小型Java程序,尝试通过JDBC连接到HANA服务器,以获得"Can we?"原型。
我知道可以通过JDBC连接到远程HANA服务器。
但是,我不能,这是我在使用sapdbc.jar文件的Java程序中使用的方法,我只是在这里测试一个连接。

DataSourceSapDB ds = new DataSourceSapDB();
    ds.setServerName("10.x.x.xxx");
    ds.setPort(30015);
    ds.setDatabaseName("dbNAME");
    ds.setUser("myUser");
    ds.setPassword("myPassword");
    Connection c = ds.getConnection();

    if (c == null) return;

示例是00,但是如果需要的话,不知道在连接字符串的什么地方包含它。我已经仔细检查了所有的属性。
我们的HANA服务器由另一家公司托管,但访问它是在我们的网络内部。这可能是原因吗?
谢谢你的帮忙。
我得到的连接错误是:
com.sap.dbtech.jdbc.exceptions.JDBCDriverException:SAP数据库技术JDBC:无法连接到jdbc:sapdb://10.x.x.xxxx:30015/数据库名称[连接回复接收失败[连接重置]。]。
请访问以下网址:com. sap.数据库技术. jdbc.驱动程序数据库.连接(驱动程序数据库java:178)
数据源数据库数据库.开放物理连接(数据源数据库数据库. java:374)
数据源数据库连接(数据源数据库java:49)
在com. glazers. hana. utils.哈纳存储过程.执行(哈纳存储过程. java:37)
网址是:com. glazers. hana. utils. hana存储过程. main(hana存储过程. java:24)

68de4m5k

68de4m5k1#

我使用了不正确的SAP jar。当我需要HANA客户端jar(ngdbciderjar)时,我使用了sapdbciderjar。在那个jar和驱动程序切换之后,它都连接了。

try {
    Class.forName("com.sap.db.jdbc.Driver");

    String url = "jdbc:sap://xx.x.x.xxx:30015/?databaseName=DBNAME";
    String user = "user";
    String password = "password";

    Connection cn = java.sql.DriverManager.getConnection(url, user, password);

    ResultSet rs = cn.createStatement().executeQuery("CALL MY_SCHEMA.STORED_PROC");

    // ... do whatever with the results ...

} catch (Exception e) {
    e.printStackTrace();
}
fnvucqvd

fnvucqvd2#

是的,你是对的,你需要使用ngdbc.jar来建立连接。
示例号包含在要连接的端口号中。
例如,如果你的端口号是30015,那么00就是示例。
希望这个有用。

相关问题