Archive

Archive for the ‘Db2’ Category

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'

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: ,