Проблема с подключением Db2 к java
Вопрос
У меня возникла проблема с DB2.Я только что установил db2 как db2admin и с паролем.Когда я пытаюсь подключиться к базе данных, она успешно завершена, и при выполнении любого простого запроса select она выдает мне следующую ошибку:-
Ошибка DB2 SQL:SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.ВХОД в СИСТЕМУ, ДРАЙВЕР = 3.57.82
У меня есть база данных с именем onp и таблица в ней под названием 'login', в которой есть одна таблица под названием 'login' с двумя полями username и password.
Запрос, который я выполняю
- Выберите * при входе в систему;выдает мне ошибку
Ошибка DB2 SQL:SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.ВХОД в СИСТЕМУ, ДРАЙВЕР = 3.57.82
- Выберите * в system.login;выдает мне ошибку:- (//system - это имя схемы)
Ошибка DB2 SQL:SQLCODE=-551, SQLSTATE=42501, SQLERRMC=DB2ADMIN;ВЫБЕРИТЕ;SYSTEM.LOGIN, ДРАЙВЕР=3.57.82
Я перепробовал все ресурсы в сети и полностью исчерпал их.Пожалуйста, помогите мне
Решение
Я мало что знаю о DB2, но ищу коды ошибок...
Первая ошибка связана с тем, что вы не указали схему, поэтому она не смогла найти таблицу входа.
SQLCODE - Объект 204, не определенный в DB2
DB2, по-видимому, требует, чтобы вы указали имя схемы, или она отображается в схеме с тем же именем, что и ваш пользователь, вошедший в систему.
Вы должны использовать SET SCHEMA
или полностью укажите имя таблицы.
Вторая ошибка связана с тем, что у вас нет прав для выполнения этого выбора:
SQLCODE -551, Ошибка:НЕ ИМЕЕТ ПРИВИЛЕГИИ ВЫПОЛНЯТЬ ОПЕРАЦИЮ Над ОБЪЕКТОМ
Я не уверен, почему пользователь db2admin не смог бы сделать выбор из этой таблицы...
Ресурсы:
Список SQL - кодов DB2
Другие советы
SQL-КОД 551 произошел из-за того, что подключающийся пользователь не имеет привилегий для выполнения операций.
Перейдите в Центр управления - Перейдите к группе пользователей и объекту и выберите DB2ADMIN (предположим, что этот пользователь используется для подключения к DB2)
Установите все флажки следующим образом
Предоставить пользователю доступ к схеме
Предоставить доступ к таблицам пользователю
Вы также можете решить проблему следующим образом:
Просто предоставьте надлежащие полномочия пользователю, с помощью которого вы подключаетесь к DB2.
У меня была такая же проблема, и я решил ее, добавив Schema в свою сущность :
@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}