Как избежать ручного ввода логина и пароля при каждом подключении Access к SQL Server без использования проверки подлинности Windows - PullRequest
0 голосов
/ 13 сентября 2018

Я подключаюсь к серверу Azure для импорта данных, размещенных сторонними разработчиками.Я не могу использовать Windows Authentication для подключения из-за протоколов безопасности между их компанией и моей.Я должен использовать аутентификацию на стороне сервера с именем пользователя и паролем.Я подключаюсь к Azure, используя OBDC через DSN.Проблема заключается в том, что каждый раз, когда я открываю Access и подключаюсь к таблицам Azure, я получаю сообщение об ошибке соединения, которое мне нужно исправить, сняв флажок «Использовать доверенное соединение», а затем вводя имя пользователя и пароль этого сервера.Есть ли способ автоматизировать этот процесс?

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

Я попробую методику "входа в систему" и сообщу, как это происходит. Чтобы дать немного больше информации, я связан с несколькими базами данных. Те, которые включены на сервере авторизации компании с помощью аутентификации Windows. Таблицы на сервере стороннего разработчика не могут быть связаны с аутентификацией Windos из-за проблем безопасности, которые возникают. Сторонние подключения должны использовать логин и пароль разработчика.

0 голосов
/ 14 сентября 2018

Существует два подхода, которые можно использовать для решения этой проблемы.

Один из способов - удалить все ссылки на таблицы, а затем повторно связать их.Просто убедитесь, что вы установили флажок, чтобы сохранить UID / пароль, когда вы делаете это.В результате Access запомнит настройки для выложенных таблиц.Однако, если вам «часто» или «всегда» нужно запрашивать у пользователя uid / logon, вам придется каждый раз пересвязывать таблицы.Однако, если вам не нужно повторно связывать или изменять uid / пароль, это простое и удобное решение.

Просто имейте в виду, что ваш uid / пароль находится на виду у связанных таблиц- так что только вы можете решить, является ли это «не проблемой», или что-то, что вы хотите, чтобы пользователи не видели.

Другой подход состоит в том, чтобы «оставить» ваши выровненные таблицы такими, какие они есть, и выполнитьвойдите в свой стартовый код.После того, как вы выполнили вход в систему, ваши существующие связанные таблицы (без сохраненного uid / пароля) будут работать

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

Function TestLogin(strCon As String) As Boolean

  On Error GoTo TestError

  Dim dbs          As DAO.Database
  Dim qdf          As DAO.QueryDef

  Set dbs = CurrentDb()
  Set qdf = dbs.CreateQueryDef("")

   qdf.connect = strCon

   qdf.ReturnsRecords = False

   'Any VALID SQL statement that runs on server will work below.
   ' this does assume user has enough rights to query built in
   ' system tables

   qdf.sql = "SELECT 1 "
   qdf.Execute

   TestLogin = True

   Exit Function

TestError:
   TestLogin = False
   Exit Function

End Function

Вы должны передать вышеуказанное aправильно отформатированная строка подключения.

...