Ошибка входа в Crystal Report в Windows 10 - PullRequest
0 голосов
/ 11 ноября 2018

Я только что написал приложение с отчетом Crystal, загруженным объявлением:

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);

Это работало нормально, когда я разрабатывал его для 32-битной Windows 7 с использованием провайдера Jet 4.0, но как только я переключился на ACE OLEDB 12.0 для 64-битной Windows 10, он продолжал выдавать ошибку «Ошибка входа. Пожалуйста, попробуйте еще раз» , несмотря на то, что файл Access .mdb не имеет установленного пароля.

То же самое произошло с другой формой с Crystal Viewer, в результате чего окно входа в систему продолжало появляться при открытии отчета. SQL-запросы с использованием ACE OLEDB 12.0 провайдера работали нормально в других местах проекта, только отчет Crystal генерирует ошибку.

Я в тупике, и чтение ответов других не помогло мне, поскольку их обстоятельства / тип сервера различаются. Кто-нибудь может пролить немного света здесь? Большое спасибо заранее.

...