Следующий код работает нормально в локальной системе, но на удаленном сервере эта ошибка дается:
Ошибка входа в систему.
Подробности: 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;