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

接続用の URL をどのように定義しますか。外部の Java アプリケーションからリモートのノンストップ データベースに接続しようとしていますが、接続サーバーの IP を定義する方法に問題があります。

于 2012-10-09T20:00:27.510 に答える
0

すでに動作している がある場合はConnection con、 を使用してカタログを設定できますcon.setCatalog()。通常、特定のカタログおよびスキーマ内のデータベース テーブルには、次のようにアクセスします。

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