У меня есть приложение Windows Forms, написанное на C #, и часть приложения имеет форму отчетности с использованием отчетов RDLC и элемента управления ReportViewer.
Чтобы создать отчеты, для каждого отчета я сначала создал DataSet и добавил TableAdapter в DataSet. Я использовал мастер TableAdapter, чтобы указать запрос для отчета, и выбрал ConnectionString, который уже был определен в App.Config и используется где-то еще в приложении.
В моем блоке разработки все работает нормально, но когда я перемещаю приложение в производство, где пароль базы данных не совпадает с паролем моего блока разработчика, все отчеты не запускаются, за исключением того, что пароль «sa» недействителен.
Теперь пароль установлен правильно в ConnectionString в app.config в рабочей среде. Я использую эту же ConnectionString везде в приложении, в том числе для входа в систему, поэтому я знаю, что пароль sa установлен правильно.
Мне кажется, что когда я добавляю TableAdapter в DataSet с помощью мастера, и он просит меня выбрать соединение (которое я выбрал существующее соединение, которое уже было в app.config и используется где-то еще в приложении), оно должно где-то его хранить и не всегда читать из app.config. Или я что-то недопонимаю?
Я просто хочу, чтобы каждый DataSet со своим TableAdapter мог использовать строку подключения из app.config, которая включает имя пользователя и пароль.
Кто-нибудь знает как это сделать?