簡體   English   中英

通過JDBC連接到遠程HANA數據庫時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM