Как подавить аутентификацию SQL
Я действительно озадачен этим, я не уверен, может ли кто-то хотя бы указать мне правильное направление?
У меня есть приложение отчетности MS Access. Он содержит несколько локальных таблиц, но в основном полагается на таблицы из базы данных SQL Server 2005, на которую он ссылается. Он связывается с базой данных SQL через системный DSN.
Я построил функцию, которая подтверждает, что необходимые таблицы связаны перед запуском каких-либо отчетов, и что все отлично работает. У меня есть сохраненная строка подключения для каждого случая, когда системе требуется подключение к базе данных SQL для обновления связанных таблиц. Однако когда пользователь FIRST запускает приложение, появляется диалоговое окно аутентификации SQL, запрашивающее у пользователя имя пользователя и пароль для запрашиваемой базы данных.
Неважно, что я делаю, я не могу это подавить. Системный DSN есть и должен быть настроен для аутентификации SQL, однако, если бы я мог просто отключить это начальное диалоговое окно, мой код позаботится о дальнейшем продвижении аутентификации.
Кто-нибудь может мне с этим помочь? Я в тупике.
Заранее большое спасибо за все предложения!
Даллас
4 ответа
Э-э, есть ли важная причина, почему вы используете аутентификацию SQL вместо аутентификации Windows? Последнее делает совершенно ненужным хранение любой пользовательской информации в ваших строках подключения.
Вы пытались поместить имя пользователя и пароль SQL в строку подключения?
User Id=myUsername;Password=myPassword;
Если какой-либо ваш код пытается получить доступ к этим таблицам (даже раскрывающийся список в скрытой форме) до запуска вашей программы проверки таблиц, он попытается выполнить аутентификацию.
Ваш код подтверждения сам может быть виновником. Многие пытаются проверить, проверяя, могут ли они получить записи. Вместо этого убедитесь, что строка подключения соответствует требованиям определения схемы: CurrentDb.TableDefs("MyTable").Connect
Ну, если вы сообщаете о данных SQL Server... почему вы вообще используете Access?
SQL Server поставляется с ОЧЕНЬ лучшей системой отчетов, называемой "Службы отчетов SQL Server".
SQL Server проще в использовании, чем MS Access, как только вы освоите его!
Просто проще пойти против SQL, верно?
В службах Reporting Services есть несколько способов предотвратить запрос проверки подлинности SQL.