# Rails + DB2

**URL:** <https://www.ruby-forum.com/t/rails-db2/135712>\
**Category:** IT\
**Created:** [April 24, 2008, 11:58am UTC](https://www.ruby-forum.com/t/rails-db2/135712 "2008-04-24T11:58:33Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 24, 2008, 11:58am UTC](https://www.ruby-forum.com/t/rails-db2/135712/1 "2008-04-24T11:58:33Z")

</div>

Stavo facendo un applicazione di prova con rails e DB2 per capirne le  
potenzialitÃ , continuo su questo forum la mia odissea nel caso possa  
servire ad altri.  
Premetto che ho avuto non pochi problemi nell’installare la versione  
corretta del DB2 connect ma grazie anche all’aiuto di esperti come  
Antonio C. ho risolto. In questa discussione si tratta la  
questione della connessione:  
[http://www.ruby-forum.com/topic/123595](http://www.ruby-forum.com/topic/123595)

Dopo aver verificato l’esito positivo della connessione tra ruby e db2  
il passo successivo era l’utilizzo di rails.  
Tra i problemi iniziali c’era (e ho tutt’ora) quello dello schema nel  
file database.yml

development:  
adapter: ibm\_db  
database: \*\*\*  
username: \*\*\*  
password: \*\*\*  
schema: myschema  
host: \*\*\*  
port: \*\*\*

se lo imposto ottengo questo messaggio

[IBM][CLI Driver][DB2] SQL0567N “myschema” non Ã¨ un ID di  
autorizzazione valido. SQLSTATE=42503  
SQLCODE=-567

purtroppo l’ho superato solo tramite una toppa nel modello ma non so se  
in futurÃ² avrÃ² problemi per esempio quello che descrivo sotto per  
l’update, la toppa Ã¨ questa:

set\_table\_name “myschema.mytable”

Un altro problema che ho avuto riguardava l’estrazione dei dati:

@t = Table1.find(:all, :include =\> :mytable2, :select =\>  
“myschema.mytable1.ID, myschema.mytable1.CAMPO1,  
myschema.mytable1.CAMPO2, myschema.mytable2.ID”,  
:conditions=\>[“myschema.mytable1.datains \>= ? AND  
myschema.mytable1.datains \<=  
?”,params[:ricerca][:data\_da],params[:ricerca][:data\_a] ] )

Non so se Ã¨ un baco o sbaglio qualcosa io ma usando quella find,  
specificando i campi della select e facendo l’include della seconda  
tabella, vengono estratti solo i due campi “id” delle due tabelle, tutti  
gli altri non ci sono.

Inizialmente pensavo fosse dovuto alle tabelle molto grosse (con molti  
campi), poi girovagando su internet, ho risolto togliendo l’include  
della seconda tabella e mettendo questa nella select per far estrarre i  
campi:

(Select count(\*) From myschema.mytable2 Where myschema.mytable1.id =  
myschema.mytable2.mytable1\_id)

la find finale completa Ã¨ diventata questa:

@t = Table1.find(:all, :select =\> “myschema.mytable1.ID,  
myschema.mytable1.CAMPO1, myschema.mytable1.CAMPO2, (Select count(\*)  
From myschema.mytable2 Where myschema.mytable1.id =  
myschema.mytable2.mytable1\_id)”,  
:conditions=\>[“myschema.mytable1.datains \>= ? AND  
myschema.mytable1.datains \<=  
?”,params[:ricerca][:data\_da],params[:ricerca][:data\_a] ] )

L’ho poi sostituita con la paginate ma il succo non cambia.

Attualmente ho un altro problema. Riguarda l’aggiornamento dati ed Ã¨  
ancora piÃ¹ strano. Si puÃ² testare anche nella console, faccio un esempio  
che rende meglio:  
ruby script/console  
Loading development environment (Rails 2.0.2)

> > t=Table1.find(1)  
> > =\> #  
> > t.autoritarilascio  
> > =\> "COMUNE DI "  
> > t.autoritarilascio=“pippo”  
> > =\> “pippo”  
> > t.save  
> > =\> true  
> > t.autoritarilascio  
> > =\> “pippo”  
> > t=Table1.find(1)  
> > =\> #  
> > t.autoritarilascio  
> > =\> "COMUNE DI "

t.save ha esito positivo ma non aggiorna il db, il modello si ma il db  
no. Guardando il log non effettua l’update, ci sono solo select, cosa  
puÃ² essere?

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 25, 2008, 9:29am UTC](https://www.ruby-forum.com/t/rails-db2/135712/2 "2008-04-25T09:29:09Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Marco M. wrote:

> […] Attualmente ho un altro problema. […]

Ciao Marco,

potresti indicarmi le versioni in uso (ibm\_db gem, db2 connect, iSeries,  
eccetera)? In questo modo posso segnalare i tre problemi riscontrati al  
team di sviluppo per cercare di ricrearli nel lab.

Grazie,  
Antonio

* * *

[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://stacktrace.it](http://stacktrace.it) - Aperiodico di resistenza informatica  
[http://math-blog.com](http://math-blog.com) - Math Blog: Mathematics is wonderful!  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.8 (Darwin)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iEYEARECAAYFAkgRiCgACgkQqCqsu0qUj9TltgCgo7n2kFknRfVFF9vIxlRENCR0  
xioAn1PUFrmqVVwluUkuYMc+G5lrNO6s  
=WF04  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 28, 2008, 10:40am UTC](https://www.ruby-forum.com/t/rails-db2/135712/3 "2008-04-28T10:40:43Z")

</div>

Ciao Antonio, intanto grazie a te per il continuo supporto!  
La versione di ibm\_db Ã¨ la 0.9.2, db connect Ã¨ la 8.2 fix16, la versione  
server del DB la 8.1  
Ibm\_db, se usato da solo e fuori da rails non ha mai dato problemi,  
forse potrebbe essere l’adapter?  
Ho provato a debuggare ma non Ã¨ un impresa semplice capire dove NON fa  
l’update, inizialmente pensavo ad una rollback o ad una commit non  
eseguita solo che non trovo l’update, credo non venga proprio eseguita  
altrimenti comparirebbe comunque nel log, dovrebbe.

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 30, 2008, 9:13am UTC](https://www.ruby-forum.com/t/rails-db2/135712/4 "2008-04-30T09:13:30Z")

</div>

Grazie Antonio, gentilissimo come sempre!  
Ciao

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [April 29, 2008, 5:05pm UTC](https://www.ruby-forum.com/t/rails-db2/135712/5 "2008-04-29T17:05:45Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Marco M. wrote:  
| Ciao Antonio, intanto grazie a te per il continuo supporto!  
| La versione di ibm\_db è la 0.9.2, db connect è la 8.2 fix16, la versione  
| server del DB la 8.1  
| Ibm\_db, se usato da solo e fuori da rails non ha mai dato problemi,  
| forse potrebbe essere l’adapter?  
| Ho provato a debuggare ma non è un impresa semplice capire dove NON fa  
| l’update, inizialmente pensavo ad una rollback o ad una commit non  
| eseguita solo che non trovo l’update, credo non venga proprio eseguita  
| altrimenti comparirebbe comunque nel log, dovrebbe.  
|

Ciao Marco,

se non appare nulla nei log, vuol dire che la query non viene inviata al  
db. Ho segnalato i problemi riscontrati al team di sviluppo e vedrò di  
tenerti aggiornato sugli svolgimenti nei prossimi giorni.

Ciao,  
Antonio

* * *

[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://stacktrace.it](http://stacktrace.it) - Aperiodico di resistenza informatica  
[http://math-blog.com](http://math-blog.com) - Math Blog: Mathematics is wonderful!  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.9 (MingW32)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iEYEARECAAYFAkgXOQoACgkQqCqsu0qUj9SB0gCdHgEZoZVZDEQWfaDxNaphdnqN  
Q04An1tFu3Gk6ghsPnsKDb6GpvPaU8U5  
=LpX1  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [May 5, 2008, 3:00pm UTC](https://www.ruby-forum.com/t/rails-db2/135712/6 "2008-05-05T15:00:03Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Marco M. wrote:

> [IBM][CLI Driver][DB2] SQL0567N “myschema” non è un ID di  
> autorizzazione valido. SQLSTATE=42503  
> SQLCODE=-567

Ciao Marco,

Qual’è l’ultima query che appare nei log prima dell’errore?  
Se provi a lanciare il comando SET SCHEMA myschema da db2cmd cosa  
ottieni?

Grazie,  
Antonio

* * *

[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://stacktrace.it](http://stacktrace.it) | [http://math-blog.com](http://math-blog.com)  
[http://twitter.com/acangiano](http://twitter.com/acangiano) | [Tony Cangiano | Flickr](http://flickr.com/acangiano)  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.8 (Darwin)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iEYEARECAAYFAkgfBKsACgkQqCqsu0qUj9RZ6QCePLjWUCE1bGUDMuOKVG9TKkvb  
NIkAn1Q3jgg4a+Ow6VDPfDC1DQ3mlJUB  
=Zlij  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [May 1, 2008, 3:39pm UTC](https://www.ruby-forum.com/t/rails-db2/135712/7 "2008-05-01T15:39:12Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Marco M. wrote:  
|\>\> t.autoritarilascio  
| =\> "COMUNE DI "  
|  
| t.save ha esito positivo ma non aggiorna il db, il modello si ma il db  
| no. Guardando il log non effettua l’update, ci sono solo select, cosa  
| può essere?

Ciao Marco,

tanto per togliersi il dubbio, il campo autoritarilascio è :string e non  
:text, giusto? Perché c’era un bug coi CLOB che è stato sistemato  
dall’update 0.9.4 della gemma.

In ogni caso, potresti provare la nuova gemma e verificare se il  
problema sussiste ancora?

Grazie,  
Antonio

* * *

[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://stacktrace.it](http://stacktrace.it) | [http://math-blog.com](http://math-blog.com)  
[http://twitter.com/acangiano](http://twitter.com/acangiano) | [Tony Cangiano | Flickr](http://flickr.com/acangiano)  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.9 (MingW32)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iEYEARECAAYFAkgZx9UACgkQqCqsu0qUj9QbDACfVGK0Cik5vfROyidh6QizAskj  
bBUAni6YDZR7a30EiY8CwOhet+ZzA55U  
=EkpL  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [May 5, 2008, 6:14pm UTC](https://www.ruby-forum.com/t/rails-db2/135712/8 "2008-05-05T18:14:00Z")

</div>

> tanto per togliersi il dubbio, il campo autoritarilascio ï¿½ :string e non  
> :text, giusto? Perchï¿½ c’era un bug coi CLOB che ï¿½ stato sistemato  
> dall’update 0.9.4 della gemma.
> 
> In ogni caso, potresti provare la nuova gemma e verificare se il  
> problema sussiste ancora?

Ciao Antonio, ho provato l’ultima versione della gemma ma purtroppo il  
problema rimane. Sul DB2, quel campo Ã¨ un CHAR a lunghezza fissa,  
comunque ho provato anche con dei numerici ottenendo lo stesso  
risultato.

Il log della put Ã¨ questo, non Ã¨ completo perchÃ¨ il numero dei campi Ã¨  
altissimo e per praticitÃ ho tagliato la stringa di log:

Processing InquiryController#update\_proposta (for 127.0.0.1 at  
2008-05-05 17:59:36) [PUT]  
Session ID:  
BAh7BzoMY3NyZl9pZCIlMzk4YTZlYmYwMGYxYTBiZmU0Yzc4MGMwNTY1YjVh%0AN2UiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOj  
Parameters:  
{“authenticity\_token”=\>“cc7e4ab7b1579f91abf931d1867841e692b5bfb2”,  
“\_method”=\>“put”, “action”=\>“update\_proposta”,  
e[4;35;1mProposta Load (0.031000)e[0m e[0mSELECT \* FROM  
BAY2TEST.TB\_PROPOSTE WHERE (BAY2TEST.TB\_PROPOSTE.id = ‘42482’) e[0m  
Redirected to [http://localhost:3004/inquiry](http://localhost:3004/inquiry)  
Completed in 0.09400 (10 reqs/sec) | DB: 0.03100 (32%) | 302 Found  
[[http://localhost/inquiry/update\_proposta](http://localhost/inquiry/update_proposta)]

Brevemente:  
Controller:Inquiry  
Action:update\_proposta  
Schema:BAY2TEST  
Tabella:TB\_PROPOSTE
