Проблема подключения db2 с java

У меня проблема с DB2. Я только что установил db2 как db2admin и с паролем. Когда я пытаюсь подключиться к базе данных, он выполняется успешно, и при выполнении любого простого запроса выбора он дает мне следующую ошибку: -

Ошибка SQL DB2: SQLCODE = -204, SQLSTATE = 42704, SQLERRMC = DB2ADMIN.LOGIN, DRIVER = 3.57.82

У меня есть база данных с именем onp и таблица в ней под названием «логин», в которой есть одна таблица с именем «логин» с двумя полями: имя пользователя и пароль.

Запрос, который я выполняю

  1. Выберите * из логина; дает мне ошибку

Ошибка SQL DB2: SQLCODE = -204, SQLSTATE = 42704, SQLERRMC = DB2ADMIN.LOGIN, DRIVER = 3.57.82

  1. Выберите * из system.login; дает мне ошибку: - (// система - это имя схемы)

Ошибка SQL DB2: SQLCODE = -551, SQLSTATE = 42501, SQLERRMC = DB2ADMIN; SELECT; SYSTEM.LOGIN, DRIVER = 3.57.82

Я перепробовал все ресурсы в сети и полностью исчерпал себя. Помогите, пожалуйста


person RishiPatel    schedule 19.10.2009    source источник


Ответы (4)


Я мало что знаю о DB2, но ищу коды ошибок ...

Первая ошибка связана с тем, что вы не указали схему, поэтому не удалось найти таблицу входа в систему.

SQLCODE -204 Объект не определен для DB2

Очевидно, DB2 требует, чтобы вы указали имя схемы, или она будет выглядеть в схеме с тем же именем, что и ваш зарегистрированный пользователь.

Вы должны использовать SET SCHEMA или полностью указать имя таблицы.

Вторая ошибка связана с тем, что у вас нет прав для выполнения этого выбора:

SQLCODE -551, ошибка: НЕ ИМЕЕТ ПРИВИЛЕГИИ ДЛЯ ВЫПОЛНЕНИЯ ОПЕРАЦИИ НА ОБЪЕКТЕ

Я не уверен, почему пользователь db2admin не может выбирать из этой таблицы ...

Ресурсы:
Список SQLCODE DB2

person Powerlord    schedule 19.10.2009
comment
-204 также указывает на то, что указанная схема в полном имени таблицы неверна или не существует. - person ammianus; 03.01.2013
comment
Если у вас есть командная строка, поможет следующее db2 ? SQLnnnn, где nnnn - это 4-значный код sql (при необходимости добавьте 0 слева). Это напечатает объяснение ошибки. - person Ingo; 16.07.2013

КОД SQL 551 возник, потому что подключающийся пользователь не имеет прав для выполнения операций.

Перейдите в Центр управления - перейдите к группе пользователей и объекту и выберите DB2ADMIN (предположим, что этот пользователь используется для подключения к DB2)

введите описание изображения здесь

Установите все флажки, как показано ниже

введите описание изображения здесь

Предоставьте пользователю доступ к схеме введите описание изображения здесь

Предоставьте доступ к таблицам для пользователя введите описание изображения здесь

person zawhtut    schedule 07.03.2013

Вы также можете решить проблему следующим образом:

Просто предоставьте надлежащие полномочия пользователю, с помощью которого вы подключаетесь к DB2.

person Kishore_2021    schedule 23.04.2012

У меня была такая же проблема, и я решил ее, добавив схему в свой объект:

@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}
person ilias    schedule 19.08.2013