[英]Trouble connecting to a remote HANA database via JDBC
我正在從筆記本電腦上運行一個小型JAVA程序,試圖通過JDBC連接到我們的HANA服務器,以獲取“可以嗎?” 原型。
我了解可以通過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 DBTech JDBC: Cannot connect to jdbc:sapdb://10.x.x.xxxx:30015/dbNAME [Connect reply receive failed [Connection reset].].
at com.sap.dbtech.jdbc.DriverSapDB.connect(DriverSapDB.java:178)
at com.sap.dbtech.jdbcext.DataSourceSapDBBase.openPhysicalConnection(DataSourceSapDBBase.java:374)
at com.sap.dbtech.jdbcext.DataSourceSapDB.getConnection(DataSourceSapDB.java:49)
at com.glazers.hana.utils.HanaStoredProcedure.execute(HanaStoredProcedure.java:37)
at com.glazers.hana.utils.HanaStoredProcedure.main(HanaStoredProcedure.java:24)
我使用了不正確的SAP jar。 當我需要HANA客戶端jar(ngdbc.jar)時,我正在使用sapdbc.jar。 在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();
}
是的,您是對的,您需要使用ngdbc.jar進行連接。
實例號包含在端口號中。 您正在連接。
例如,如果您的端口號 是30015,則實例是00。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.