2012-08-02 105 views
0

我試圖使用JDBC查詢NonStop SQL/MX數據庫。我有正確的驅動程序和我設法連接到數據庫,並初始化代碼如下的語句(我發現here):由於不存在目錄導致JDBC數據庫連接失敗

Class.forName("com.tandem.t4jdbc.SQLMXDriver"); 
Connection con = DriverManager.getConnection(url, user, password); 
Statement stmt = con.createStatement(); 

然而,我無法執行查詢...

ResultSet rs = stmt.executeQuery("SELECT * FROM Table1"); 

...因爲某些不存在的目錄NONSTOP_SYSTEM_NSK。那是什麼意思?在GUI中查看同一個數據庫時,我不需要指定任何目錄(例如,DB Visualizer)。

產生的堆棧跟蹤看起來是這樣的:

java.sql.SQLException: *** ERROR[1002] Catalog NONSTOP_SYSTEM_NSK does 
    not exist or has not been registered on node \NSK01. 
    at com.tandem.t4jdbc.SQLMXMessages.throwSQLException(SQLMXMessages.java:71) 
    at com.tandem.t4jdbc.InterfaceStatement.executeDirect(InterfaceStatement.java:545) 
    at com.tandem.t4jdbc.SQLMXStatement.executeQuery(SQLMXStatement.java:226) 

回答

0

如果你已經有一個工作Connection con,您可以設置使用con.setCatalog()目錄。一般來說,在一個給定的目錄訪問一個數據庫表和模式如下:

ResultSet rs = stmt.executeQuery("SELECT * FROM <CATALOG>.<SCHEMA>.<TABLE>"); 
0

你是如何定義的URL連接,我們正在試圖從外部Java應用程序connecto到遠程不停分貝並且我們在如何定義連接服務器ip方面遇到問題。