20 messaggi dal 01 dicembre 2005
Salve a tutti, la mia azienda usa come fonte dati principale DB2, al quale accedo regolarmente installando il runtime client sulla macchina, in questo caso quella di sviluppo, utilizzando il riferimento all'assembly installato dal pacchetto di installazione nella GAC IBM.Data.DB2. Ho creato un Web Service che usa tale riferimento per accedere al database e leggere le tabelle.
Nella Solution di progetto funziona tutto regolarmente. La sorpresa l'ho avuta quando pubblicando il WS su IIS e richiamando il metodo messo a disposizione, esso va in errore in quanto dice che non è in grado di inizializzare la DB2Connection. Inoltre il file web.config mi segnala che non riesce ad istanziare l'assembly IBM.Data.DB2...

Qualcuno ha idea di cosa poso fare per risolvere il problema?

Grazie in anticipo!
vmistral wrote:
Qualcuno ha idea di cosa poso fare per risolvere il problema?

installare i client anche sul server dove risiede il ws, perchè l'errore indica che non trova l'assembly corrispondente.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
20 messaggi dal 01 dicembre 2005
Grazie per la segnalazione, ma l'ho installato sul server, inoltre il problema ce l'ho anche sulla mia macchina di sviluppo.
vmistral wrote:
Grazie per la segnalazione, ma l'ho installato sul server, inoltre il problema ce l'ho anche sulla mia macchina di sviluppo.

e quindi anche sulla tua macchina cmq non trova quell'assembly. sicuro che in GAC hai messo quello giusto?

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
20 messaggi dal 01 dicembre 2005
E' stato installato dal pacchetto di installazione. Premetto però che con applicazioni Windows ed in particolare lanciando il progetto Web dal Visual Studio, quindi viene creata la porta virtuala, funziona regolarmente, infatti accedo in lettura e scrittura al DB2.

Per meglio spiegarti ti scrivo l'errore restituito da IIS. L'applicazione lanciata da Visual Studio viene eseguita correttamente, mentre pubblicando la pagina nella wwwroot solleva questa eccezione:

Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------

SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2, tokens C:\Programmi\IBM\SQLLIB_01\\bin\db2app.dll,
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.InvalidOperationException: SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2, tokens C:\Programmi\IBM\SQLLIB_01\\bin\db2app.dll,

Errore nel codice sorgente:


Riga 12: Public Shared Function GetComuni() As DataTable
Riga 13: Dim dt As New DataTable("Comuni")
Riga 14: Using db As New DB2Connection("Server=AV_ST:57000;Database=DB;UID=utente;PWD=password")
Riga 15:
Riga 16: Dim sqlString As String = _


File di origine: c:\inetpub\wwwroot\Default.aspx.vb Riga: 14

Analisi dello stack:


[InvalidOperationException: SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2, tokens C:\Programmi\IBM\SQLLIB_01\\bin\db2app.dll, ]
IBM.Data.DB2.f.a() +1880
IBM.Data.DB2.DB2ConnPool.g() +551
IBM.Data.DB2.DB2ConnPool..ctor() +21
IBM.Data.DB2.DB2Connection..cctor() +67

[TypeInitializationException: L'inizializzatore di tipo di 'IBM.Data.DB2.DB2Connection' ha generato un'eccezione.]
IBM.Data.DB2.DB2Connection..ctor(String connectionString) +0
_Default.GetComuni() in c:\inetpub\wwwroot\Default.aspx.vb:14
_Default.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\Default.aspx.vb:8
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

Può essere un problema legato a permessi di IIS?
Grazie per l'attenzione.
20 messaggi dal 01 dicembre 2005
Alla fine bisognava assegnare dire che l'utente ASPNET faceva parte del gruppo DB2USERS che di fatto permette l'esecuzione sulla macchina di tutti gli oggetti DB2.

Ora funziona tutto bene.
Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.