Ошибка подключения к базе данных JDBC из-за отсутствия каталога

Я пытаюсь запросить базу данных NonStop SQL/MX с помощью 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. Что это значит? Мне никогда не нужно указывать какой-либо каталог при просмотре той же базы данных в графическом интерфейсе (например, 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)

person dokaspar    schedule 02.08.2012    source источник
comment
Не могли бы вы помочь мне, предоставив URL-адрес, используемый для непрерывного подключения к базе данных sql, я должен выполнить перенос данных из этой базы данных в MSSQL.   -  person Tushar Mahajan    schedule 26.06.2020


Ответы (2)


Если у вас уже есть рабочий Connection con, вы можете установить каталог с помощью con.setCatalog(). Как правило, вы получаете доступ к таблице базы данных в заданном каталоге и схеме следующим образом:

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

Как вы определяете URL-адрес для соединения, мы пытаемся подключиться к удаленной непрерывной базе данных из внешнего приложения Java, и у нас возникают проблемы с определением IP-адреса сервера соединения.

person user1587690    schedule 09.10.2012