1

我正在尝试使用 JDBC 查询 NonStop SQL/MX 数据库。我有正确的驱动程序,我设法连接到数据库并使用以下代码行初始化语句(我在此处找到):

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)
4

2 回答 2

0

如果您已经有一个工作Connection con,您可以使用设置目录con.setCatalog()。通常,您访问给定目录和模式中的数据库表,如下所示:

ResultSet rs = stmt.executeQuery("SELECT * FROM <CATALOG>.<SCHEMA>.<TABLE>");
于 2012-08-06T06:43:23.020 回答
0

您如何定义连接的 url,我们正在尝试从外部 java 应用程序连接到远程不间断数据库,我们在如何定义连接服务器 ip 时遇到了麻烦。

于 2012-10-09T20:00:27.510 回答