Windows 10上的Crystal Report登录失败

时间:2018-11-11 14:44:57

标签: c# ms-access crystal-reports windows-10

我刚刚编写了一个应用程序,该应用程序通过声明加载了一个水晶报表:

private ConnectionInfo crConnectionInfo = new ConnectionInfo();
private TableLogOnInfo crTableLogonInfo = new TableLogOnInfo();
private OleDbConnection conn = new OleDbConnection();

然后进入Form_Load部分:

connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbLocation;
conn.ConnectionString = connStr;
crConnectionInfo.ServerName = dbLocation;
crConnectionInfo.UserID = "Admin";
crConnectionInfo.Password = "";

然后通过以下方式打印报告:

RptReceiptCash rpt = new RptReceiptCash();
rpt.SetParameterValue(0, GrdReceipt[0, currentRow].Value);
Tables CrTables = rpt.Database.Tables;
foreach (Table CrTable in CrTables)
{
   crTableLogonInfo = CrTable.LogOnInfo;
   crTableLogonInfo.ConnectionInfo = crConnectionInfo;
   CrTable.ApplyLogOnInfo(crTableLogonInfo);
}
rpt.PrintToPrinter(1, true, 0, 0);

当我使用Jet 4.0提供程序为32位Windows 7开发它时,此方法很好用,但是一旦我切换到ACE OLEDB 12.0为Windows 10 64位,它总是给出“登录失败。请尽管访问.mdb文件未设置密码,但仍然会重试”错误。

使用Crystal Report Viewer的另一种表单也发生了同样的事情,打开报表时,登录消息框不断弹出。使用ACE OLEDB 12.0提供程序的SQL查询在项目中的其他地方都可以正常工作,只有Crystal报表会生成错误。

我很沮丧,阅读其他人的回答对我没有帮助,因为他们的情况/服务器类型各不相同。谁能在这里阐明一些想法?预先非常感谢。

0 个答案:

没有答案