Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Crystal Report: Accesso al database non riuscito
lunedì 21 marzo 2011 - 21.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 2.0
|
.NET 4.0
|
Windows XP
|
Visual Studio 2010
|
SQL Server 2008
niccord
Profilo
| Newbie
12
messaggi | Data Invio:
lun 21 mar 2011 - 21:19
Salve a tutti.
Ho sviluppato un'applicazione Windows in C# con Visual Studio 2010.
L'applicazione elabora dati presenti su un database SQLServer 2008 e prevede la generazione di report in Pdf o in Excel che, purtroppo però, non funzionano perché Crystal Report mi ritorna un errore.
Ho sviluppato i report su Visual Studio scaricando il pacchetto CRforVS_13_0.exe (SAP Crystal Reports per Visual Studio 2010).
I report non si collegano direttamente alla sorgente dati ma ricevono i dati tramite un DataSet da me preventivamente caricato.
Ho sviluppato l'applicazione su Windows XP a 32 bit.
Compilo ogni progetto a 32 bit (x86) perché so che altrimenti la situazione poteva essere problematica.
La chiamata che effettuo è questa:
// questo metodo è chiamato dalla maschera
public void printRichieste(DataSet[] dsData, ExportFormatType type)
{
//printRich è il file rpt del report
generaReport<printRich>(dsData, "StampaRichieste", type);
}
private void generaReport<T>(DataSet[] dsData, string filename, ExportFormatType exportFormat) where T : ReportClass, new()
{
T printPdf = new T();
// tentativo 1
//foreach (DataSet ds in dsData)
//{
// printPdf.Database.Tables[ds.Tables[0].TableName].SetDataSource(ds.Tables[0]);
//}
// tentativo 2
//for (int i = 0; i < dsData.Length; i++)
//{
// printPdf.Database.Tables[i].SetDataSource(dsData[i].Tables[0]);
//}
// tentativo 3
printPdf.SetDataSource(dsData[0]);
//codice omesso
//esporto la stampa nella cartella utente
string fileUtente = "C:\\Stampe\\" + filename + ".pdf";
printPdf.ExportToDisk(exportFormat, fileUtente);
printPdf.Close();
}
Ho provato a variare il "modo" in cui passo i dati al report: in ogni caso ottengo sempre lo stesso errore.
Ho "preso spunto" da codice che uso quotidianamente al lavoro e che so di per certo funzionare, su Visual Studio 2005 e Crystal Report 2005.
Ho anche provato ad impostare, in ogni progetto, il .NET Framework alla versione 2 invece che alla 4, ma non è cambiato nulla.
Ho provato ad aggiungere tutti i riferimenti che mi parevano necessari o, al più, plausibili ovvero (aiutandomi col codice funzionante):
AxInterop.AcroPDFLib
crdb_adoplus
CrystalDecisions.CrystalReports.Design
CrystalDecisions.CrystalReports.Rengine
CrystalDecisions.Enterprise.Viewing.ReportSource
CrystalDecisions.ReportAppServer.DataSetConversion
CrystalDecisions.ReportSource
CrystalDecisions.Shared
CrystalDecisions.Windows.Forms
Interop.AcroPDFLib
Microsoft.ReportViewer.WinForms
Ecco un po' di informazioni sull'errore in questione:
Titolo della finestra dell'eccezione: "LogOnException è stata individuata"
Message: "Accesso al Database non riuscito"
ErrorID: "CrystalDecisions.CrystalReports.Engine.EngineExceptionErrorID.LogOnFailed"
Source: "CrystalDecisions.ReportAppServer.DataSetConversion"
La InnerException ha questi campi:
Source: "Analysis Server"
Stack Trace:
" in CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext)
in CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)"
Se qualcuno ha qualche suggerimento è ben accetto. (sono abbastanza disperato
)
Grazie.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 17 apr 2011 - 13:09
Ciao,
potrebbe essere un problema di questo tipo:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=5303
riesci a fare qualche prova per capire se è questo?
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
niccord
Profilo
| Newbie
12
messaggi | Data Invio:
lun 18 apr 2011 - 09:02
Per ora non ho provato come mi hai suggerito perché Crystal Report non l'ho collegato a nessuna sorgente dati, ma sono io che passo al report dei dataset già popolati.
Comunque ho risolto portando tutto su Visual Studio 2005.
Non so sinceramente cosa sia cambiato..però qui tutto va.
Grazie.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 18 apr 2011 - 16:26
Ciao niccord,
effettivamente usando Vs2005 di fatto vai ad usare librerie diverse (il runtime è in .net tral'altro) quindi a parte il fatto di aver probabilmente fixato bug che c'erano, gestiscono la memoria in maniera diversa e migliore, rispetto magari ad una versione COM basata quindi su OCX.
Bene dai, in qualche modo insomma sei riuscito a sistemare il problema...è una buona notizia
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
niccord
Profilo
| Newbie
12
messaggi | Data Invio:
lun 18 apr 2011 - 16:29
A dire la verità sono passato da Visual Studio 2010 a Visual Studio 2005...è questo il bello!
In ogni caso ho risolto...grazie.
Torna su
Stanze Forum
Elenco Threads
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 !