2009-05-21 8 views
0

レポートがあり、リンクサブレポートをクリックすると、データベースログインフォームが表示されます。必要なすべての接続文字列を指定しましたが、ログイン情報を要求します。クライアントシステムにインストールすると、この問題が発生します。私は何が欠けているのですか、何をすべきですか?サブレポートをクリックしたときのデータベースログインプロンプト

+0

どのようにレポートにデータベース接続を設定していますか? –

+0

dynDS.WriteXml( "dynRep.xml"、XmlWriteMode.WriteSchema); rptDynamicReport rpt =新しいrptDynamicReport(); rpt.SetDataSource(dynDS); DEReportViewer.ReportSource = rpt; – Guddu

答えて

1

私は、クリスタルレポートのコードでデータベース接続を設定するときに、レポートデータベース定義内のすべての単一テーブルに接続を設定する必要があることを発見しました。

private static void SetConnectionInfo(ReportClass report, string ReportServer, string ReportDatabase) 
{ 
    TableLogOnInfo tInfo = new TableLogOnInfo(); 
    ConnectionInfo connectionInfo = tInfo.ConnectionInfo; 
    connectionInfo.IntegratedSecurity = true; 
    connectionInfo.ServerName = ReportServer; 
    connectionInfo.DatabaseName = ReportDatabase; 

    foreach (Table t in report.Database.Tables) 
    { 
     t.ApplyLogOnInfo(tInfo); 
    } 

    foreach (ReportClass subReport in report.Subreports) 
    { 
     SetConnectionInfo(subReport, ReportServer, ReportDatabase); 
    } 
} 
関連する問題