Я написал отчет, используя Crystal Reports XI, связанный с базой данных Access здесь C: \ MyData.mdb.
В отчете есть одно поле (упрощенное для этого примера) и нет подотчеты.
Я использовал Forms и WPF Cyrtsal Report Viewer с использованием C # .NET 4.
Отчет успешно просматривается на моем компьютере разработки, работающем под Windows XP, и на других «досках», также работающих под Windows XP.
Тем не менее, при запуске WePOS (своего рода урезанная Windows XP) отчет «всегда» показывает диалоговое окно с запросом данных для входа, например имени пользователя и пароля.
Это диалоговое окно также показывает правильный путь к C : \ MyData.mdb.
Я потратил много дней на это, тестируя всевозможными способами (уверен, что все помнят такие времена!).
Я использую этот код, чтобы убедиться, что база данных правильно связана с:
TableLogOnInfo logonInfo;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in report.Database.Tables)
{
logonInfo = table.LogOnInfo;
logonInfo.ConnectionInfo.ServerName = string.Empty;
logonInfo.ConnectionInfo.DatabaseName = "C:\MyData.mdb";
logonInfo.ConnectionInfo.UserID = string.Empty;
logonInfo.ConnectionInfo.Password = string.Empty;
table.ApplyLogOnInfo(logonInfo);
}
.. ... и он работает на всех ПК с Windows XP, кроме одного с WePOS.
Я также играл с:
report.SetDatabaseLogon(string.Empty, string.Empty, "C:\MyData.mdb", string.Empty);
... но это не имеет значения.
Я могу только заключить, что WePOS настолько "урезан" Crystal тихо не может пройти аутентификацию ... пожалуйста, помогите!