Archive

Posts Tagged ‘db2’

SQL10007N Message “-3000″ could not be retrieved. Reason Code “5″

December 7th, 2009 Nicola No comments

Oggi un’applicazione (vb6 su XP), anziche collegarsi a db2 (8.0) correttamente,  ha segnalato l’errore di cui sopra. Cercando in rete ho scoperto che il motivo era l’impostazione della lingua. Era stata cambiata da Italiano a Irlandese.

Ne ho dedotto che a db2 (8.0) non piacciono gli irlandesi.

Transact-SQL: SELECT INTO per copiare una tabella

March 31st, 2009 Nicola No comments

E’ la maniera più veloce per duplicare una tabella, o per creare uan tabella al volo partendo da una select:

SELECT INTO FROM TABELLA1 [WHERE ...]

TABELLA2 viene creata automaticamente se non esiste.
Un esempio:

CREATE TABLE VENDITE (AGENTE VARCHAR(20), PRODOTTO VARCHAR(20), PAESE VARCHAR(20), QUANTITA INT)

INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'ITALIA', 20)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'SPAGNA', 30)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'FRANCIA', 10)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'PS3', 'GERMANIA', 15)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'ITALIA', 10)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'SPAGNA', 25)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'INGHILTERRA', 8)
INSERT INTO VENDITE VALUES ('AGENTE 1', 'WII', 'GERMANIA', 35)

SELECT * INTO VENDITE_ITALIA FROM VENDITE WHERE PAESE = 'ITALIA'

Un’altra maniera per fare la stessa cosa è:

CREATE TABLE VENDITE_ITALIA (AGENTE VARCHAR(20), PRODOTTO VARCHAR(20), PAESE VARCHAR(20), QUANTITA INT)
INSERT INTO VENDITE_ITALIA SELECT * FROM VENDITE WHERE PAESE = 'ITALIA'

Java e db2: COM.ibm.db2.jdbc.net.DB2Driver e porta 6789

September 30th, 2008 Nicola No comments

Ho fatto una classe java per testare il collegamento ad un database DB2 utilizzando un driverCOM.ibm.db2.jdbc.net.DB2Driver fornito dalla IBM.

Innanzitutto è necessario includere nel classpath il file db2java.jar fornito appunto dalla IBM. La connessione è sempre la solita connessione in java ad una fonte dati:


try {

Class.forName(driver).newInstance();

} catch (Exception e) {

System.out.println("1 " + e.getMessage());

}

try {

con = DriverManager.getConnection(urldb, user, password);

} catch (Exception e) {

System.out.println("2 " + e.getMessage());

}

dove driver è COM.ibm.db2.jdbc.net.DB2Driver e urldb è jdbc:db2://1.1.1.1:6789/MIODB. Dovete solo sostituire l’indirizzo ip ed il nome del database corretti.

Non è però sufficiente perchè il tutto funzioni. E’ necessari che il server db2 a cui vi collegate sia in ascolto su una determinata porta, che di default è 6789. Per verificare se lo è, andate sul server, aprite una shell e digitate netstat -a. Fra il risultato deve essere una riga simile a questa:

Questo è l’applet di db2 che permette di interrogare da remoto un database. Se non l’avete attivata fatelo con il comando:


db2jstrt 6789

e tutto dovrebbe funzionare.

Categories: Java Tags: , ,

Configurare un client db2 utilizzando il clp (command line processor)

June 9th, 2006 Nicola No comments

Un pc con windows, solo il runtime di db2, senza il Configuration Client, solo il clp. Ho trovato tutta la documentazione che mi serviva sul sito delle ibm:

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0005622.htm

Innanzitto, con i due comandi:

list node directory

list db directory

si può sapere quali sono i nodi già catalogati sul client e quali database.

Su una rete basata su tcpip è sufficiente:

  • catalogare un nodo, ovvero una istanza su un server db2
  • catalogare un database

Per catalogare un nodo è sufficiente:

db2 => catalog tcpip node node_name remote hostname|ip_address
server service_name|port_number [remote_instance instance_name]
[system system_name] [ostype os_type]
db2 => terminate

Esempio:

catalog tcpip node mio_nodo remote 10.198.5.4 server 50000

E per catalogare  il database:

db2 => catalog database database_name as database_alias at
node node_name [ authentication auth_value ]

Esempio:

catalog database mio_database

a questo punto è possibile, per esempio, creare un odbc verso il database che  abbiamo appena creato.

Categories: Db2 Tags: ,