dBeaver (CE): соединение DB2 LUW с ошибкой SQL 42704. Схема таблицы не открывается, но может писать запросы SQL - PullRequest
0 голосов
/ 12 октября 2018

Примерно через полтора года я наконец смог подключиться к базе данных DB2, которую мы имеем через dBeaver.Соединение успешно как LUW (наш db2 - z / os).Мне удалось получить необходимые драйверы после установки IBM Data Studio.

Как только я подключусь, я иду вниз по схеме, попадаю в Таблицы и, щелкая по ней, я получаю следующую ошибку.

SQL Error [42704]: SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56
SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56
THE DESCRIBE STATEMENT DOES NOT SPECIFY A PREPARED STATEMENT. SQLCODE=-516, SQLSTATE=26501, DRIVER=3.69.56
THE CURSOR SQL_CURLH200C1 IS NOT IN A PREPARED STATE. SQLCODE=-514, SQLSTATE=26501, DRIVER=3.69.56
SQL Error [42704]: SYSCAT.SCHEMATA IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.56

Однако, если проигнорировать ошибку и перейти кНовый запрос SQL и напишите простой

Select * from schema.table

, он отлично работает и получает желаемые результаты.

Учитывая время, которое я потратил, чтобы добраться до этого места, этого достаточно, но для развертываниякак решение в моем отделе, я должен иметь возможность просматривать список таблиц (схему).

Любая помощь будет потрясающей.

EDIT1: Проблема в том, чтонет SCHEMA с именем SYSCAT и нет таблицы с именем SCHEMATA.

Ответы [ 3 ]

0 голосов
/ 12 октября 2018

В DBeaver, когда вы создаете соединение, выберите опцию «Драйвер DB2 z / OS» в раскрывающемся списке Db2, при подключении к DB2 для z / OS

Кстати, DBeaver может совместно использовать оболочку с Data Studio,так что вы можете (если хотите) использовать оба продукта в одной установке.Нет гарантий, что они делятся счастливо во всех случаях, но, похоже, это работает достаточно хорошо.

0 голосов
/ 12 октября 2018

Драйверы IBM Data Server также требуют настройки на стороне сервера.Пожалуйста, смотрите эту информацию https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/java/src/tpc/imjcc_jccenablespsandtables.html

0 голосов
/ 12 октября 2018

В каталоге z / OS Db2 есть имена, отличающиеся от тех, которые используются в Db2 в распределенной версии (Linux Unix Windows aka LUW).Вот список объектов в Db2 z / OS , который вы можете просмотреть.

Похоже, вы используете dBeaver для навигации по пользовательскому интерфейсу объектов в Db2 для z / OS.Вам нужно убедиться, что у вас есть драйвер db2 jcc для z / OS Db2.Похоже, что вы можете использовать один из LUW, поскольку SYSCAT.SCHEMATA является объектом LUW, а не объектом z / OS.

Ваш другой запрос работает, потому что вы указываете известное имя таблицы.Другие запросы должны быть в порядке.Проблема в том, что интерфейс в dbeaver ищет системные объекты Db2 для LUW, а не для z / OS.Это будет продолжаться до тех пор, пока вы не сможете решить проблему с драйвером.

...