Grazie Domenico,
il tuo metodo è indubbiamente funzionante.
Il mio obiettivo, però, sarebbe quello di far connettere Crystal al database, in modo che si vada a recuperare i dati in completa autonomia.
E questo dovrebbe essere "facile", teoricamente, ma in pratica non lo è!!
Ad esempio, progetto un semplice report, in fase di progettazione utilizzo la connessione al mio db Sql Server.
A run time voglio che questo report si colleghi ad un database Access (che ovviamente ha il medesimo tracciato delle tabelle), non protetto da password.
Per far ciò utilizzo:
crReportDocument.Load(Application.StartupPath + "\\ListaOfferteAccess.rpt");
crConnectionInfo.ServerName = @"D:\Dati.mdb";
crConnectionInfo.DatabaseName = "";
crConnectionInfo.UserID = "";
crConnectionInfo.Password = "";
crDatabase = crReportDocument.Database;
crTables = crDatabase.Tables;
for (int i = 0; i < crTables.Count; i++)
{
crTable = crTables[i];
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
}
this.crystalReportViewer.ReportSource = crReportDocument;
Inutile dirti che non funziona, poiché mi compare costantemente una finestra in cui Crystal mi richiede i dati per l'accesso al DB.
Hai qualche idea?