У меня есть отчет, составленный с помощью 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?
Как изменить подключение к базе данных Crystal Report ODBC во время выполнения?