Microsoft Access: подключение к SQL Server через имя пользователя и пароль Active Directory Trusted_Connection = нет - PullRequest
0 голосов
/ 02 июля 2018

У меня есть приложение Microsoft Access, которое генерирует строку подключения, например:

Provider=SQLNCLI11;Server=servername;Database=db_name;Trusted_Connection=yes;

Это работает без проблем.

Я хочу подключиться к экземпляру SQL Server, где пользователь должен вставить свое имя и пароль Active Directory.

Как это:

Provider=SQLNCLI11;Server=servername;Database=db_name;Uid=username;Pwd=password;

Это работает только для пользователей, которые созданы на SQL Server напрямую.

Я пытался Uid=DOMAIN\username, но он не работает.

Возможно ли это? Или есть другой способ, как я могу пройти через это?

Окружающая среда: Пользователь использует локальный ПК с локальной учетной записью, а затем выполняет «Сетевое соединение» со своим AD-пользователем и паролем.

После этого «RunAs» как его AD-пользователь работает, НО есть другое приложение, которое запускается из приложения Access, и это приложение должно быть запущено с локальной учетной записью пользователя.

SQL-сервер и пользователь AD являются членами одного домена.

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Ваш выбор

  1. Войдите в систему SQL Server, используя учетную запись домена Windows, в которую вы вошли. Вы делаете это автоматически, указав Trusted_Connection=yes; или

  2. Вход в SQL Server с использованием входа в SQL.

Это только два возможных варианта с использованием строки подключения провайдера SQL. В частности, вы не можете использовать провайдера доступа SQL для выполнения олицетворения, то есть для входа в SQL Server с использованием другой учетной записи домена Windows, отличной от той, в которую вы вошли в данный момент.

0 голосов
/ 02 июля 2018

Microsoft разработала интеграцию AD с SQL Server для использования учетной записи клиентского приложения, чтобы не обрабатывать вход в систему как часть строки подключения. Если пользователь не будет входить в систему с использованием учетной записи, необходимой для доступа к базе данных, следующим лучшим вариантом может быть что-то вроде ShellRunAs , чтобы позволить пользователю запускать ваше клиентское приложение как правильное Аккаунт AD.

...