由于目录不存在,JDBC数据库连接失败

时间:2012-08-02 10:03:35

标签: java jdbc database-connection catalog hp-nonstop

我正在尝试使用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)

2 个答案:

答案 0 :(得分:0)

如果您已经有效Connection con,则可以使用con.setCatalog()设置目录。通常,您可以按如下方式访问给定目录和架构中的数据库表:

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

答案 1 :(得分:0)

如何定义连接的url,我们尝试从外部Java应用程序连接到远程非停止数据库,我们在如何定义连接服务器ip时遇到问题。