problema di connessione Db2 con Java
Domanda
io sto avendo problemi con DB2. Ho appena installato il DB2 come db2admin e con una password. Quando provo a connettersi al database è il successo pieno e durante l'esecuzione di qualsiasi semplice query di selezione mi dà errore seguente: -
DB2 SQL Errore: SQLCODE = -204, SQLSTATE = 42704, sqlerrmc = DB2ADMIN.LOGIN, DRIVER = 3.57.82
Ho un database denominato ONP e un tavolo in si chiama 'login' in cui v'è una tabella chiamata 'login' con due campi username e password.
query che sto facendo funzionare
- Select * from login; mi dà errore
DB2 SQL Errore: SQLCODE = -204, SQLSTATE = 42704, sqlerrmc = DB2ADMIN.LOGIN, DRIVER = 3.57.82
- Select * from system.login; mi da errore: - (// sistema è il nome dello schema)
DB2 SQL Errore: SQLCODE = -551, SQLSTATE = 42501, sqlerrmc = DB2ADMIN; SELEZIONA; SYSTEM.LOGIN, DRIVER = 3.57.82
Ho provato tutte le risorse in rete e esaurito completamente. Please help me
Soluzione
Non so molto su DB2, ma guardando i codici di errore ...
Il primo errore è perché non è stato specificato uno schema, in modo che non si poteva trovare la tabella di accesso.
SQLCODE -204 oggetto non definito a DB2
DB2 a quanto pare si richiede di specificare il nome dello schema o appare nello schema con lo stesso nome come utente di accesso.
È necessario utilizzare SET SCHEMA
o completamente qualificare il nome della tabella.
Il secondo errore è perché non si dispone dei privilegi necessari per eseguire l'select:
SQLCODE -551, Errore: Non ha Il privilegio di eseguire l'operazione ON OGGETTO
Non so perché l'utente db2admin non sarà in grado di selezionare da questa tabella ...
Risorse:
Elenco di DB2 SQLCODE
Altri suggerimenti
SQL CODE 551 verificato perché l'utente collega non dispone di privilegi per eseguire operazioni.
Vai al Centro di Controllo - Vai User Group e sull'oggetto e selezionare DB2ADMIN (assumere questo utente è quello utilizzato per la connessione a DB2)
Controlla tutte la casella di controllo come la seguente
l'accesso Concessione dello schema per l'utente
l'accesso Concessione tabelle per l'utente
È inoltre possibile risolvere il problema come:
Basta dare la giusta autorità per l'utente con il quale si è connessione a DB2.
Ho avuto lo stesso problema e ho risolto con l'aggiunta dello schema nella mia entità:
@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}