У меня есть отчет с Crystal Reports 2008, в котором мне нужно развернуть производственную систему, что означает, что мне нужно изменить соединение с базой данных во время выполнения. База данных - PostgreSQL 8.3.0, а соединение, которое я использую для создания исходного отчета, - это соединение ODBC.
Я нашел различные способы изменения соединения с базой данных, включая следующее:
reportDoc.Load(report);
reportDoc.DataSourceConnections[0].SetConnection("server", "database", "user", "pwd");
reportDoc.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
Однако это всегда не выполняется со следующим сообщением об ошибке.
Не удалось открыть соединение.
Я проверил параметры соединения, успешно подключившись к базе данных с помощью pgAdmin III, поэтому я знаю, что параметры подключения верны. Кроме того, если я удалю строку SetConnection (...), чтобы код выглядел следующим образом:
reportDoc.Load(report);
reportDoc.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
тогда отчет работает нормально, используя параметры соединения, которые хранятся в отчете. Возможно ли, что этот метод не работает для соединений ODBC?
Как изменить соединение базы данных ODBC Crystal Report во время выполнения?