Проблема соединения Db2 с java

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

ошибка SQL DB2: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.ЛОГИН, ДРАЙВЕР=3.57.82

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

запрос, который я использую

  1. Выберите * от входа в систему; дает мне ошибку

ошибка SQL DB2: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.ЛОГИН, ДРАЙВЕР=3.57.82

  1. выбрать * из системы.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)

enter image description here

установите все флажки следующим образом

enter image description here

предоставить пользователю доступ к схеме enter image description here

предоставить доступ к таблицам пользователю enter image description here


вы также можете решить эту проблему так:

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


У меня была та же проблема, и я решил ее, добавив схему в мою сущность :

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