Как принудительно установить местоположение источника данных в Crystal Reports? - PullRequest
0 голосов
/ 03 апреля 2012

Я унаследовал довольно ужасный код, который широко использует Crystal Reports. Моя проблема в том, что я могу заставить отчеты работать локально, но когда я перехожу на рабочий сервер, происходит сбой.

Когда я изменяю информацию о соединении в мастере «Установка расположения источника данных» в Visual Studio, он не позволяет мне изменить его на информацию о соединении на производственном сервере, потому что он проверяет соединение и, естественно, получает ошибку. После этой ошибки он возвращается к старой "рабочей" информации о соединении.

Я ЗНАЮ, что он не может подключиться удаленно. Я просто пытаюсь изменить информацию о соединении при развертывании его на сервере. Конечно, есть способ заставить эту информацию в отчете.

Любая помощь будет принята с благодарностью. У меня кончились волосы, чтобы вытащить.

1 Ответ

0 голосов
/ 03 апреля 2012

Вы можете создать объект ConnectionInfo и затем применить его к каждой из таблиц в отчете, используя ApplyLogOnInfo

Вот пример из статьи MSDN о классе ConnectionInfo

private void SetConnectionInfo (string table, string server, string database, string user, string password)
{ 
   TableLogOnInfo logOnInfo = new TableLogOnInfo();
   logOnInfo = Report.Database.Tables[table].LogOnInfo;
   ConnectionInfo connectionInfo = new ConnectionInfo ();
   connectionInfo = logOnInfo.ConnectionInfo;

   connectionInfo.DatabaseName = database;
   connectionInfo.ServerName = server;
   connectionInfo.Password = password;
   connectionInfo.UserID = user;
   Report.Database.Tables [table].ApplyLogOnInfo(logOnInfo);
}

Как правило, хотя мне проще использовать имя записи ODBC или TNS для ORACLE и сохранить его одинаковым во всех средах, в которых полностью отсутствует код.

...