использование строки подключения в web.config для отчета Crystal - PullRequest
0 голосов
/ 07 мая 2010

У меня проблемы между двумя серверами, которые используют разные odbc dsn.

Мои приложения работают отлично, но Crystal Reports использует исходное соединение ODBC, как я могу это исправить?

Я думаю об использовании той же строки подключения в web.config, но я не знаю как.

найдено это но это слишком запутанно для меня

спасибо,

Ответы [ 2 ]

1 голос
/ 28 февраля 2014

Вы можете использовать строку подключения. Вы должны создать экземпляр поставщика базы данных ConnectionStringBuilder, передавая строку подключения, извлеченную из файла конфигурации. Вот пример в VB.

Dim connString As String = ConfigurationManager.ConnectionStrings["MyDbConn"].ConnectionString
Dim connStringBuilder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder(connString)

Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
myConnectionInfo.DatabaseName = connectionStringBuilder.InitialCatalog
myConnectionInfo.UserID = connectionStringBuilder.UserID
myConnectionInfo.Password = connectionStringBuilder.Password
myConnectionInfo.ServerName = connectionStringBuilder.DataSource
1 голос
/ 07 мая 2010

Вы не можете использовать строку подключения так же, как вы используете соединение ado.net. Однако вы можете использовать значения из файла web.config для указания информации о соединении. Создайте экземпляр класса ConnectionInfo и установите свойства ServerName, DatabaseName, UserID и Password. Затем прикрепите его к каждой из таблиц в отчете:

ConnectionInfo reportConnectionInfo = new ConnectionInfo();
reportConnectionInfo.ServerName = ConfigurationManager.AppSetting["ServerName"];
reportConnectionInfo.DatabaseName = ...;
reportConnectionInfo.UserID = ...;
reportConnectionInfo.Password = ...;

foreach (Table table in reportDocument.Database.Tables) {
  table.LogOnInfo.ConnectionInfo = reportConnectionInfo;
}

Если вы попытаетесь использовать это предложение, остерегайтесь моей небрежной печати ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...