SQL Server Reporting Services & AS400

venerdì 21 aprile 2006 - 22.25

o.m@libero.it Profilo | Newbie

Ciao a tutti, ho creato un report con SQL Server Reporting Services utilizzando come origine dati un server iSeries con la seguente stringa di connessione OLEDB: Provider=IBMDA400.DataSource.1;Data Source=172.16.1.100;Initial Catalog=xxxx
Purtoppo quando cerco di visualizzare il report via WEB mi viene segnalato il seguente errore: 'Si è tentato di utilizzare un'estensione per i dati 'OLEDB' non registrata per questo server di report' Qualcuno sa darmi una mano? Grazie in anticipo.
ObiOneBit

freeteo Profilo | Guru

ciao,
dalla descrizione dell'errore tu hai usato 1 driver oledb (nella stringa lo specifichi quando dici "...Provider=IBMDA400.DataSource.1.2...") che dove gira il report non è registrato.
Probabilmente in locale da te finche crei il report lo trova inquanto ce l'hai installato ma quando gira sul server non lo trova inquanto non è installato.
Se hai 1pacchetto di installazione del driver oledb lancialo sul server, in modo che venga registrato e il runtime lo possa usare...

ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

o.m@libero.it Profilo | Newbie

Ciao,
il server Report che genera l'errore, gira su un'istanza SQL Express dov'è installato anche il driver OLEDB x AS400 che utilizzo senza problemi con altri soluzioni di tipo winform + ADO.NET . A questo punto penso che il problema non sia l'installazione del driver, forse qualche file di configurazione del Server Report come il rsreportserver.config necessita di un ulteriore chiave relativa al driver che utilizzo? (dico forse).

ObiOneBit

freeteo Profilo | Guru

ciao,
si allora il problema sta proprio dove dici tu, nel rsreportserver.config, ovvero nella sezione :
...
<Data>
<Extension Name="SQL" Type="Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper,Microsoft....
<Extension Name="OLEDB" Type="Microsoft.ReportingServices.DataExtensions.OleDbConnectionWrapper,Microsoft....
...

Qui manca quello che usi tu di IBM e quindi il reportserver non sa che esiste e non lo usa...
Quando usi quello in winform intendi usi il report file rdlc, ovvero la versione LocalReport ?Perche quel runtime li a differenza del server va a utilizzare 1a datasource classica di .net quindi è demandato al runtime di .net il lavoro di estrazione dei dati.
Nel caso di server invece è lui stesso che va ad elaborarsi la sorgente usando qualche estensione, che appunto legge nel suo config...
Pero' il pacco è che qui lui vuole una assembly che si rifa ad 1interfaccia particolare che tu puoi customizzare wrappando quello che si aspetta come spiegano qui:
http://www.microsoft.com/italy/msdn/library/net/adonet/RSDSetEx3.htm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsprog/htm/rsp_prog_extend_dataproc_5c2q.asp
pero' la cosa non è proprio veloce da realizzare...

Percaso hai gia provato a vedere se nella tua dir locale tipicamente:
C:\Programmi\Microsoft Visual Studio 8\Common7\ide\PrivateAssemblies

trovi 1 file che ricorda il tuo driver e se lo trovi copiarlo nella dir del server es:
C:\Programmi\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin e poi ovviamente specificare nel .config che esiste...

Fammi sapere se hai novita'...
grazie,ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

o.m@libero.it Profilo | Newbie

Grazie per la info, ma sinceramente credovo fosse più semplice la connessione. Quando avrò un attimo proverò a scrivere un'interfaccia personalizzata per il driver che ho utilizzato. Spero di darti buone notizie :-)
Ciao e grazie

ObiOneBit
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5