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.
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:
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).
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/ )
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.
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, 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.
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 “”.
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.
Purtroppo non ho la possibilità di aggiornare il DB2 connect.
Sul server c’è la 8.1. Il DB2UDB ( ) 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.
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.
Purtroppo non ho la possibilità di aggiornare il DB2 connect.
Sul server c’è la 8.1. Il DB2UDB ( ) 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.
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
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