Modifica percorso del database

mercoledì 07 marzo 2007 - 00.48

mabus82 Profilo | Newbie

ciao a tutti,
vi chiedo aiuto per poter risolvere il seguente problema: stò sviluppando un software in C#; al momento funziona perfettamente in locale, ma stò iniziando a trasformarlo in un applicativo client/server.
Ho però un problema con i CrystalRepor: io utilizzo come base di dati un database ACCESS al cui interno ho creato delle QUERY parametrizzate; queste query poi le utilizzo per generare i miei report.
Come posso modificare il percorso del database tramite codice? Ho già provato ad utilizzare il metodo SetDataSource ma con esito negativo.
Devo per forza rifare tutti i report per i client utilizzando il percorso del database all'interno del server?
Grazie dell'aiuto!

Jumpa Profilo | Junior Member

forse la mia risposta non è attinente alla tua domanda,
ma posso consigliarti vivamente di trasformare la tua applicazione adottando una base di dati tipo sqlExpress 2005, non hai costi perche è gratuita.

E' decisamente piu efficente!
A mie spese ho imprato che access in ambiente di rete, magari con piu accessi simultanei tende ad incartarsi!!
Visto che vuoi trasformare la tua applicazione valuta bene il mio suggerimento!!!


Buona Lavoro

Jumpa
-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

mabus82 Profilo | Newbie

Grazie del siggerimento Jumpa. Ci avevo già pensato.... comunque sto anche iniziando a studiarmi sqlserver...
Il problema è l'urgenza di poter utilizzare i crystal report nell'applicativo che ancora si basa su access.... la transazione da una base di dati a un'altra comporta qualche cambiamento al progetto e soprattutto il mio cliente non può permettersi di avere problemi di stabilità del programma (anche se siamo ancora in una versione beta)

freeteo Profilo | Guru

ciao,
strano che con il metodo "setDataSource" tu abbia avuto esito negativo, probabilemnte non l'hai fatto per tutte le Tables del report...cmq sia ti do 1paio di link che ti possono tornare utili:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=8681 (guarda le mie risposte a questo thread)
http://www.dotnethell.it/tips/Crystal-Reports-BLOB.aspx (c'e' l'allegato in basso)

come vedi, nel tuo caso basta solo modificare le LogoinInfo del report, e se vai in debug, vedi quelle con cui l'hai costruito e vai ad adattarle di conseguenza...
Per access sono diverse, nel senso che il nome del server potrebbe essere il path completo del file,...cmq debuggando capisci senza problemi...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

mabus82 Profilo | Newbie

ho letto i thread segnalati... ma il problema rimane.
Ho modificato la mia funzione di caricamento del report utilizzando il metodo LogOnInfo:

ReportDocument doc = new ReportDocument(); doc.Load(reportName); doc.SetParameterValue("nddt", value); CrystalDecisions.Shared.TableLogOnInfo logOnInfo = new CrystalDecisions.Shared.TableLogOnInfo(); Console.WriteLine(doc.Database.Tables[0].Name); logOnInfo = doc.Database.Tables[0].LogOnInfo; logOnInfo.ConnectionInfo.DatabaseName = "<percorso database Access sul pc remoto>"; logOnInfo.TableName = "qryDDT"; doc.Database.Tables[0].ApplyLogOnInfo(logOnInfo); crystalReportViewer1.ReportSource = doc;

solo che ho sempre lo stesso identico errore di prima:


485x173 20Kb


Osservando l'errore sembra che il report non trovi i parametri che gli passo tramite SetParameterValue.

Dove sbaglio?
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5