2011-07-12 10 views
0

CrystalReportViewerにCrystal Reportを読み込むと、無効な(固定)サーバー名のデータベースログインが表示されます。Crytal Reportを生成する際にデータベースログインが必要です。 SQL Server 08、VS 08

私は自分の開発マシンで同じレポートを読み込むと、正常に動作します。しかし、別のマシンにC#アプリケーションをデプロイすると、私はいつもDBログインを求められます。 (server-nameは私の開発マシンとその静的に使用したものです(私はそれを変更傾ける)

私は今と運と週間の解決策を見つけるためにしようとしている。

私が使用していますレポートソースとしてDataTable:。

MyReport.SetDataSource(MyDataTable)私は検索オンラインソリューションのほとんどを試してみました

私はSQLネイティブクライアント

をインストールしている私は運

に代わり DataTable

すべてのDataSetに合格しようとした実行時に

をDBログイン情報を渡して試してみました

また、私は1つのデータベーステーブルでレポートを読み込むと、データベースのログインが要求されていないことがわかりました。私のデータテーブルは、データベースから1つのテーブル形式で埋められます。"Select * From SomeTable"内部結合クエリを使用すると、ログインのプロンプトが表示されます

この問題の処理方法については、

答えて

0

はよく私は最終的に私はそのコードを交換して、レポート

Tの

ableLogOnInfos crtableLogoninfos = new TableLogOnInfos(); 
       TableLogOnInfo crtableLogoninfo = new TableLogOnInfo(); 
       ConnectionInfo CInfo = new ConnectionInfo(); 
       //GET THE SERVER INFORMATION 
       DataTable DT = b.GetServerInfo(); 
       CInfo.ServerName = DT.Rows[0][1].ToString(); 
       CInfo.DatabaseName = DT.Rows[0][2].ToString(); 
       CInfo.UserID = DT.Rows[0][3].ToString(); 
       CInfo.Password = DT.Rows[0][4].ToString(); 
       Tables CrTables = cr.Database.Tables; 
       foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables) 
       { 
        crtableLogoninfo = CrTable.LogOnInfo; 
        crtableLogoninfo.ConnectionInfo = CInfo; 
        CrTable.ApplyLogOnInfo(crtableLogoninfo); 
       } 


       frmReportViewer ff = new frmReportViewer(); 
       ff.crViewer.LogOnInfo = crtableLogoninfos; 
       ff.crViewer.ReportSource = cr; 
0

まずで使用される各テーブルのログイン情報を渡さ

cr.SetDatabaseLogon(Username, Password, @Server, DBNAME); 

を使用していた、それを解決しましたすべて、オブジェクトCrystalReportViewerのプロパティ 'ReportSource'をNothingに設定します。

CrystalReportViewer1.ReportSource = Nothing

デザイン時に既定でレポートセットのプレビューを回避します。

関連する問題