На первый взгляд кажется, что DB2 не находит это имя таблицы в схеме webuser
, или схема текущего подключенного пользователя не соответствует схеме для таблицы.Попробуйте:
select * from webuser.table
Если это не удастся, то, вероятно, он не существует в схеме webuser
, поэтому попробуйте выяснить, в какой схеме он существует.
Часто можно найтиинформация для sql кодов ошибок в Инфоцентр IBM DB2 или в командной строке DB2 UDB, например, так:
db2 ? SQL0100
Вы можете посмотреть любую ошибку следующим образом:
db2 ? SQLnnnnn
, где nnnnn
- код ошибки.
Вы также можете часто найти информацию о коде ошибки sql из db2, выполнив поиск в Google без включения -
, так как Google удаляеттермин с тире впереди из результатов поиска.Итак, ищите sql code 204
, а не sql code -204
.
Обычно вы можете найти список всех таблиц в sysibm.tables
или syscat.tables
в зависимости от того, какую систему (z / OS или UDB) вы используете, а также от того, является ли администратор db2имеет ограниченный доступ к этим таблицам каталога.
Если вы работаете с экземпляром UDB, попробуйте:
select tabschema, tabname from syscat.tables
Я, конечно, предполагаю, что вы не ожидаете, что таблица будет названаtable
.Я думаю, это ограниченное слово в db2 или в стандарте SQL-92.
Если вы запустили хранимую процедуру, которая выполняет этот запрос, то вы, возможно, не видите истинную ошибку в запросе.Хранимые процедуры часто возвращают код ошибки, отличный от запроса внутри хранимой процедуры, если только они не запрограммированы на перехват и возврат sqlcode и sqlstate из самого запроса.
Кроме того, я вижу, что вы получаете sqlcode-727, с кодом сообщения 2. Документация для этого говорит:
An error occurred during implicit system action type action-type . Information returned for the error includes SQLCODE sqlcode , SQLSTATE sqlstate and message tokens token-list .
, где тип действия равен 2: неявная подготовка кэшированного динамического оператора SQL
Эта ошибкаинформация менее проста и более настроена для администратора базы данных.Это может оказаться полезным, но я сначала попробую другие предложения.Это может означать, что определенные пакеты не привязаны к базе данных (например, пакеты для вашего сетевого драйвера) или что определенные разрешения в базе данных не верны, или пакет исправлений был применен неправильно, и отсутствуют процедуры базы данных.Тем не менее, это также может быть вызвано -204 и просто последующей ошибкой.