Connessione DB2

Sto provando a collegarmi ad un db2 installato su un mainframe.
Purtroppo la gemma sembra non funzionare. L’istruzione :
require ‘rubygems’
mi restituisce un message box con titolo:
“ruby.exe - Impossibile trovare punto di ingresso”
e nel corpo del messaggio
“Impossibile trovare punto di ingresso SQLNextResult@8 della procedura
nella libreria del collegamento dinamico DB2CLI.dll”

Il messaggio si ripete 4 volte, poi ritorno al prompt.
Il sistema operativo è windows xp

Nella shel irb mi da:
“LoadError: 127: Impossibile trovare la procedura specificata. -
C:/Programmi/ruby/lib/ruby/gems/1.8/gems/ibm_db-0.7.0-mswin32/lib/mswin32/ibm_db.so”

Ovviamente ho controllato che entrambe i file esistano. Il primo (la
dll) l’ho spostata sia in system che in sistem32 e per finire
direttamente nel percorso dove ho eseguito irb.

idee?
Grazie Michele.

c’è un 3d qui PHP :: Bug #33184 :: odbc_exec(): SQL error: [IBM][CLI Driver][DB2/6000] SQL0954C Not enough storag
prova a dargli un guardo (cerca SQLNextResult@8)
Così su due piedi mi pare che questo scambio di post possa interessarti:

------------------------------------ from
http://bugs.php.net/bug.php?id=33184

I get the following errors when I try invoke the script via the command
line

php.exe - Entry Point Not Found
The procedure entry point SQLNextResult@8 could not be located in the
dynamic link library DB2CLI.dll

Warning:
PHP Startup: Unable to load dynamic library
‘c:\php\ext\php_ibm_db2.dll’ - The specified procedure could not be
found.
…snip!
On the machine I am running the script from (client) the dblevel command
outputs:

DB21085I Instance “DB2” uses DB2 code release “SQL07010” with level
identifier

“02020105” and informational tokens “DB2 v7.1.0.1”, “n000727” and
“WR21198”.

On the machine that has the database I am querying the db2level command
outputs:

DB21085I Instance “db2inst1” uses DB2 code release “SQL07020” with
level
identifier “03010105” and informational tokens “DB2 v7.1.0.40”,
“s010415” and
“U475375”.

So given all this am I to understand that the PECL db2 component is not
a viable option for me unless I upgrade to DB2 V8.1?

[1 Jun 2005 3:49pm UTC] [email protected]

Brad: sorry, yes, the ibm_db2 extension requires a minimum of DB2 V8.2
(V8.1 FP7). And V8 → V7 connections might be a little wonky.

[1 Jun 2005 3:56pm UTC] brad_allgood at csgsystems dot com

Thanks for the clarification. I’ll try to upgrade my client to V8.2 and
try and see just how “wonky” things get. (smile).

On 9/4/07, Michele C. [email protected] wrote:

Sto provando a collegarmi ad un db2 installato su un mainframe.

Ciao Michele,

Che versione del client DB2 hai su Windows, e che versione sul
mainframe?
Stai cercando di collegarti a iSeries da Windows? Se sì, avrai bisogno
di installare
DB2 Connect. Per quanto riguarda rubygems, puoi impostare la variabile
d’ambiente RUBYOPT, così da evitare il require esplicito. Quando installi
ibm_db, non hai bisogno di spostare la dll, perché questa viene caricata
automaticamente dalla locazione della gemma sul tuo sistema (se non ci
sono
altri problemi che lo impediscono). Considera anche che
l’ultima versione della gemma ibm_db è la 0.8, per cui ti consiglio di
installare questa. Se vuoi fornirmi più dettagli in privato, puoi scrivermi
all’indirizzo di lavoro: cangiano%ca%ibm%com (sostituisci il primo % con
una
@, e i due restanti con un punto).

Ciao,
Antonio

Nella shel irb mi da:
“LoadError: 127: Impossibile trovare la procedura specificata. -
C:/Programmi/ruby/lib/ruby/gems/1.8/gems/ibm_db-0.7.0-mswin32/lib/mswin32/ibm_db.so”

Non so assolutamente nulla di DB2, ma perché cerca ibm_db.so e non .dll?
Non è che quella gemma si crede su Unix? La gemma ha dei test da far
girare? (Lanci un “rake” nella cartella
C:/Programmi/ruby/lib/ruby/gems/1.8/gems/ibm_db-0.7.0-mswin32/ )

DB2Connect versione 7, DB2 versione 8.1

Ho installato la gemma “ibm_db-0.8.0-mswin32.gem”. Il risultato,
purtroppo non è cambiato.

RUBYOPT non l’ho ancora impostato, ma non credo sia quello.

Grazie.

Ciao Michele.

On 9/5/07, Michele C. [email protected] wrote:

DB2Connect versione 7, DB2 versione 8.1

Ho installato la gemma “ibm_db-0.8.0-mswin32.gem”. Il risultato,
purtroppo non è cambiato.

RUBYOPT non l’ho ancora impostato, ma non credo sia quello.

Grazie.

Ciao Michele,

sono entrambi supportati, a patto di avere il fixpack 15 per DB2 v8.
Per quanto riguarda il mainframe, tanto per chiarire, si tratta di DB2
per System i o per z/OS? Potresti farmi sapere la versione esatta del
database sul mainframe.

Grazie,
Antonio

Ciao, la versione 8.1 è quella su mainframe, sul pc non ho db2 ma solo
db2connect (versione 7).
Il sistema mainframe è z/OS.

Ciao Michele.

On 9/5/07, David [email protected] wrote:

Nella shel irb mi da:
“LoadError: 127: Impossibile trovare la procedura specificata. -
C:/Programmi/ruby/lib/ruby/gems/1.8/gems/ibm_db-0.7.0-mswin32
/lib/mswin32/ibm_db.so”

Non so assolutamente nulla di DB2, ma perché cerca ibm_db.so e non .dll?
Non è che quella gemma si crede su Unix? La gemma ha dei test da far girare?
(Lanci un “rake” nella cartella
C:/Programmi/ruby/lib/ruby/gems/1.8/gems/ibm_db-0.7.0-mswin32/ )

Ciao David,

ibm_db.so si chiama così per convenzione, ma è in realtà una dll in Windows.

Ciao,
Antonio

On 9/6/07, Michele C. [email protected] wrote:

Ciao, la versione 8.1 è quella su mainframe, sul pc non ho db2 ma solo
db2connect (versione 7).
Il sistema mainframe è z/OS.

Grazie, se possibile potresti farmi avere anche l’output di db2level sul
client e l’output che ricevi dal server quando ti connetti tramite CLP.
In
questo modo
possiamo creare lo stesso scenario qui nel lab e testare la
configurazione.

Grazie,
Antonio

On 9/7/07, Michele C. [email protected] wrote:

Mi stai facendo domande che non capisco “l’output di db2level sul
client” e “ti connetti tramite CLP”.

Ciao Michele,

sul tuo client (quindi su
Windows) dovresti avere l’utility db2level, che si occupa di
restituire informazioni dettagliate
circa la versione di DB2 o di DB2 Connect (nel tuo caso) installata. Se
riesci a lanciare questa utility da riga di comando, potresti
copia-incollarmi il risultato? Per quanto riguarda il server. CLP
(Command
Line
Processor) è un altro strumento che è in pratica una shell per il tuo
database (locale o nel tuo caso remoto)
nel quale puoi eseguire SQL e comandi per DB2.

Quando effettui una connessione al tuo mainframe da CLP, dovresti
ricevere un prompt con informazioni
circa la versione di DB2 sul server a cui ti sei appena connesso. Per
riproporre in maniera fedele lo stesso scenario, a me servirebbe quel
prompt. Fammi sapere se hai bisogno di più informazioni/dettagli.

Grazie,
Antonio

P.S.: se preferisci, possiamo continuare la conversazione in privato
oppure
sul forum dedicato al progetto (ma quest’ultimo è in inglese).

Mi stai facendo domande che non capisco “l’output di db2level sul
client” e “ti connetti tramite CLP”.

On 9/7/07, Michele C. [email protected] wrote:

db2level:
DB21085I Instance “DB2” uses DB2 code release “SQL07010” with level
identifier
“02010105” and informational tokens “DB2 v7.1.0”, “n000510” and “”.

Ciao Michele,

la versione del client DB2 sul tuo sistema Windows è la 7.1 che purtroppo
non soddisfa i requisiti minimi per il driver ibm_db. Se ne hai la
possibilità di consiglio di installare il client DB2 versione 9.1 FixPack
2
(IBM Db2 | IBM) e di
fare
l’aggiornamento di DB2 Connect alla versione 9.1 (
Db2 Connect | IBM). Dovresti anche
verificare con il tuo DBA, che la versione di DB2 installata sul server
sia
la 8 con il FixPack 15 installato.

P.S. purtroppo l’inglese non è il mio forte, e se non è un problema

preferirei continuare con la discussione sul forum, magari potrebbe
servire ad altri.

Nessun problema, restiamo qui. :slight_smile:

Ciao,
Antonio

http://antoniocangiano.com - Zen and the Art of Ruby P.ming
http://math-blog.com - Math Blog: Mathematics is wonderful!
My Photos: Tony Cangiano | Flickr

Purtroppo non ho la possibilità di aggiornare il DB2 connect.
Sul server c’è la 8.1. Il DB2UDB ( :slight_smile: ) mi diceva che non ci sono i
FIxPack per il db su mainframe ma parla di PTF (penso siano due nomi
per indicare la stessa cosa).
Se ho novità (aggiornamento db2 connect) mi rifaccio vivo.

Grazie per la disponibilità .

Antonio C. wrote:

On 9/7/07, Michele C. [email protected] wrote:

Mi stai facendo domande che non capisco “l’output di db2level sul
client” e “ti connetti tramite CLP”.

Ciao Michele,

sul tuo client (quindi su
Windows) dovresti avere l’utility db2level, che si occupa di
restituire informazioni dettagliate
circa la versione di DB2 o di DB2 Connect (nel tuo caso) installata. Se
riesci a lanciare questa utility da riga di comando, potresti
copia-incollarmi il risultato? Per quanto riguarda il server. CLP
(Command
Line
Processor) � un altro strumento che � in pratica una shell per il tuo
database (locale o nel tuo caso remoto)
nel quale puoi eseguire SQL e comandi per DB2.

Quando effettui una connessione al tuo mainframe da CLP, dovresti
ricevere un prompt con informazioni
circa la versione di DB2 sul server a cui ti sei appena connesso. Per
riproporre in maniera fedele lo stesso scenario, a me servirebbe quel
prompt. Fammi sapere se hai bisogno di pi� informazioni/dettagli.

Grazie,
Antonio

P.S.: se preferisci, possiamo continuare la conversazione in privato
oppure
sul forum dedicato al progetto (ma quest’ultimo � in inglese).

db2level:
DB21085I Instance “DB2” uses DB2 code release “SQL07010” with level
identifier
“02010105” and informational tokens “DB2 v7.1.0”, “n000510” and “”.

CPL? all server mi connetto tramite Personal Comunicator. Una volta
loggato accedo all’utility QMF.

P.S. purtroppo l’inglese non è il mio forte, e se non è un problema
preferirei continuare con la discussione sul forum, magari potrebbe
servire ad altri.

On 9/13/07, Michele C. [email protected] wrote:

Purtroppo non ho la possibilità di aggiornare il DB2 connect.
Sul server c’è la 8.1. Il DB2UDB ( :slight_smile: ) mi diceva che non ci sono i
FIxPack per il db su mainframe ma parla di PTF (penso siano due nomi
per indicare la stessa cosa).

Sì, i PTF hanno lo stesso compito. Solitamente aggiungono funzionalità e
correggono bug.

Se ho novità (aggiornamento db2 connect) mi rifaccio vivo.

Perfetto. :slight_smile:

Ciao,
Antonio

http://antoniocangiano.com - Zen and the Art of Ruby P.ming
http://math-blog.com - Math Blog: Mathematics is wonderful!
My Photos: Tony Cangiano | Flickr

Mi sono rifatto vivo.
Purtroppo la versione su mainframe non è cambiata, ma ho installato la
versione 8 del cliente. Ti riporto il risultato di db2level:

DB21085I L’istanza “DB2” utilizza “32” bit e il rilascio del codice DB2
“SQL08020” con identificativo di livello “03010106”.
I token informativi sono “DB2 v8.1.7.445”, “s040812”, “WR21342” e il
fixpak
“7”.
Il prodotto è installato in “C:\Programmi\IBM\SQLLIB”.

Adesso l’errore è “[IBM][CLI Driver] CLI0133E”, dal tuo sito ho letto
che devo installare la versione 9.5

Ho trovato tra i tools installati c’è la ricerca di aggiornamenti. Ma
non riesco ad aggiornare db2 connect perché :
“Agente non installato correttamente. Per l’installazione corretta, sono
necessari i diritti di amministrazione nel computer e le impostazioni di
protezione predefinite del browser”

Considerando che db2 connect l’ho installato con la mia user, penso che
il problema sia l’Agente… ma cosa è l’Agente?

Ciao Michele.

Ciao Michele, installando l’ultimo fix (attualmente il fix 16, del 28
gennaio 2008) aggiornerà il db2 connect (8.2) e rails sarà in grado di
connettersi al DB2

Questa è la pagina dalla quale scaricare il fix, bisogna scegliere
quella in base alla versione installata del db2 connect, la personal
piuttosto che la enterprise:
http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21256059

Con la mini guida di Antonio C. si fa il resto (per chi ancora non
l’avesse letta):

Grazie Marco. Funziona tutto.

Ciao Michele