1

次のコードはローカル システムでは問題なく動作しますが、リモート サーバーでは次のエラーが発生します。

ログオンに失敗しました。
詳細: ADO
エラー コード: 0x
ソース: ADODB.Connection
説明: プロバイダーが見つかりません。正しくインストールされていない可能性があります。
ファイル C:\Windows\TEMP\MARK_F_CARD のエラー {F5EE7A57-​​7C81-4AC5-B39E-E3E66C864F4B}.rpt: 接続できません: パラメータのログオンが正しくありません。

誰でも解決策を提案できますか?

cl.ConOpen();
DataSet dsm = new DataSet();
DataSet ds = new DataSet();

string query_report1 = "select *from ZSTUDENT where SID='" + Wsid.Text + "'";
cl.da = new SqlDataAdapter(query_report1, cl.con);
cl.da.Fill(dsm, "ZSTUDENT");

rpt.Load(Server.MapPath("../MARKSHEETDESIGN/MARK_F_CARD.rpt"));
rpt.SetDatabaseLogon("sms", "sms", "204.0.0.237", "sms");
rpt.SetDataSource(dsm);

string query_report2 = "select *from STUDENTMARK where SID='" + Wsid.Text + "'";
cl.da = new SqlDataAdapter(query_report2, cl.con);
cl.da.Fill(ds, "STUDENTMARK");

rpt.Subreports[0].SetDatabaseLogon("sms", "sms", "204.0.0.237", "sms");
rpt.Subreports[0].SetDataSource(ds);
//-------
ConnectionInfo connectionInfo = new ConnectionInfo { UserID = "sms", Password = sms", ServerName = "204.0.0.237", DatabaseName = "sms" };
TableLogOnInfo tableLogOnInfo = new TableLogOnInfo { ConnectionInfo = connectionInfo };
foreach (CrystalDecisions.CrystalReports.Engine.Table table in rpt.Database.Tables) {
    table.ApplyLogOnInfo(tableLogOnInfo);
}
foreach (CrystalDecisions.CrystalReports.Engine.Table table in rpt.Subreports[0].Database.Tables) {
    table.ApplyLogOnInfo(tableLogOnInfo);
}
//-----
rpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;
CrystalReportViewer1.DisplayGroupTree = false;
CrystalReportViewer1.ReportSource = rpt;
4

0 に答える 0