我正在尝试使用JDBC查询NonStop SQL / MX数据库。我有正确的驱动程序,我设法连接到数据库并使用以下代码行(我找到here)初始化语句:
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 :(得分:0)
如果您已经有效Connection con
,则可以使用con.setCatalog()
设置目录。通常,您可以按如下方式访问给定目录和架构中的数据库表:
ResultSet rs = stmt.executeQuery("SELECT * FROM <CATALOG>.<SCHEMA>.<TABLE>");
答案 1 :(得分:0)
如何定义连接的url,我们尝试从外部Java应用程序连接到远程非停止数据库,我们在如何定义连接服务器ip时遇到问题。