CrystalReport con SQLite

lunedì 21 giugno 2010 - 17.22

mesta Profilo | Newbie

Ciao a tutti,
sto scrivendo un programma in C# che deve fare una raccolta dati su un database leggero, dal quale estrarre dei report.
SQLite mi è sembrato la soluzione migliore, ma ho dei problemi a fare i report, ossia:
Per creare un report con crystalreport ho dovuto creare un dataset (che nel project solution me lo chiama ad esempio DataSet1.xsd), e quindi creare i file di crystal report e dargli come database fields le tables del Dataset1.xsd.
Successivamente da programma seleziono le varie tables, mi creo il dataset, lo passo con SetDataSource all'oggetto crystalreport, poi utilizzo un il crystal report viewer.
Ora funziona tutto bene tranne che nel pacchetto di installazione, perche' dopo aver installato il programma devo mettere manualmente i file .rpt nella cartella di installazione (e fin li' lo posso anche fare), ma poi il file xsd e gli altri li devo inserire nella cartella c:\documents and settings\....\projects\...\nomeprogetto.
Mi piacerebbe sapere se
1) c'e' una soluzione migliore al creare un file xsd nel project solution? Perche' nel wizard di crystal report non vedo nessun provider selezionabile per SQLite (es.: c'e' un provider selezionabile dal wizard come per SQL).
2) eventualmente come faccio a includere il file xsd nell'installer e/o a dargli la path giusta per farlo funzionare post installazione ?
successivamente...
3) Si possono includere i file .rpt nell'installer ?

freeteo Profilo | Guru

>sto scrivendo un programma in C# che deve fare una raccolta dati
>su un database leggero, dal quale estrarre dei report.
>SQLite mi è sembrato la soluzione migliore,
come mai SqlLite? Non hai valutato qualcosa come SqlExpress o SqlCE? sono free e il driver per attaccarti è sempre SqlClient quindi supportato anche da Crystal...



>Ora funziona tutto bene tranne che nel pacchetto di installazione,
>perche' dopo aver installato il programma devo mettere manualmente
>i file .rpt nella cartella di installazione (e fin li' lo posso anche fare)
basta che li aggiungi al pacchetto di installazione nelle proprietà del progetto di setup.



>1) c'e' una soluzione migliore al creare un file xsd nel project
>solution? Perche' nel wizard di crystal report non vedo nessun
>provider selezionabile per SQLite (es.: c'e' un provider selezionabile
>dal wizard come per SQL).
non c'è un provider, ma non è detto che il database che usi per disegnare il report sia lo stesso che avrai a runtime, il report infatti è un visualizzatore di una serie i dati, una collection di una particolare struttura (nome di campo, tipo di campo) ma non è importante da dove arrivano.
E questo lo puoi ottenere tranquillamente passando tu i dati caricati da dove vuoi (e come vuoi) usando il metodo "SetDataSource" dell'oggetto ReportDocument, e caricando quello che gli passi tramite ado.net,l'unica cosa importante è sempre passare la stessa struttura con cui hai generato il report.
Un esempio che ti può tornare utile per capire il codice da usare è quello che trovi qui:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

mesta Profilo | Newbie

Grazie ! Ora sto leggendo bene bene quell'articolo, cmq SQLite lo uso perche' il database che creo è piccolo e non ho bisogno di accessi ecc...
Ho scelto sqlite perche' ci sono un bel po' di esempi su come connettersi, non installa niente e il database è costituito da un solo file (soprattutto questo), mentre avevo provato SQLExpress ma con l'hardware che uso io (win xp professional embedded) è crashato tutto :(
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