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