Я написал отчет, используя Crystal Reports XI, связанный с базой данных Access здесь C:\MyData.mdb.
В отчете есть одно поле (упрощенное для этого примера) и никакие под-отчеты.
Я использовал средство просмотра отчетов форм и WPF Cyrtsal с помощью С#.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);
... но это не имеет значения.
- В базе данных Access нет имени пользователя или пароля.
- Все используемые ПК имеют установленное программное обеспечение (время автономной работы и т.д.).
- Все ПК были протестированы с использованием учетной записи Adminstrator (и права доступа к файлам были проверены дважды).
- Я пробовал отметить флажок Интегрированная безопасность, без везения
- Я установил logonInfo.ConnectionInfo.DatabaseName = string.Empty;
- Я установил logonInfo.ConnectionInfo.ServerName = "C:\MyData.mdb";
- Я пробовал НЕ использовать какой-либо из приведенных выше кодов, вместо этого просто удостоверился, что база данных находится в одном месте на всех ПК, без везения.
- Это файл базы данных Access 2003
Я могу только заключить, что WePOS так "вырубается", что Crystal молча пропускает аутентификацию... пожалуйста, помогите!