2012-12-21 9 views
6

Qual è la sintassi corretta o quali sono i passaggi corretti per creando uno schema in DB2 utilizzando JDBC?creare schema db2 utilizzando jdbc

Quando si esegue create schema test1 o create schema test1 authorization db2admin come db2admin, ho sempre arrivare DB2 SQL Error: SQLCODE=-552, SQLSTATE=42502, SQLERRMC=DB2ADMIN;CREATE SCHEMA, DRIVER=3.64.106

Lo stesso comando esatto funziona bene utilizzando gli strumenti della riga di comando DB2.

risposta

6

ho trovato.

Si scopre che per qualche ragione DB2 Express-C non concede il privilegio DBADM a db2admin per impostazione predefinita.

Questo può essere risolto collegando al DB e poi rilascia

GRANT DBADM ON DATABASE to db2admin 

Grazie Ian Bjorhovde per fornire la scintilla ispirazione!

1

Sembra che non è una questione di sintassi ma l'autenticazione, è necessario verificare le credenziali che si sta passando attraverso JDBC:

-552 ID-autorizzazione NON hanno il privilegio di eseguire l'operazione operazione

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn552.htm

+0

Come ho detto, l'utente è DB2Admin e ha tutti i diritti. Questo stesso utente può eseguire l'istruzione con gli strumenti da riga di comando DB2 senza problemi. –

+0

Vorrei provare a restringere la causa principale, puoi usare un altro client DB2 e provare ad eseguire alcuni DDL con le stesse credenziali? http://java-source.net/open-source/sql-clients – theMarceloR

+1

Già fatto. Ho anche provato 3 diverse versioni del driver jdbc: una più vecchia e le più nuove jdbc3 e jdbc4. Senza fortuna. –