VB6 и Sql server 2016 Строка экспресс-подключения
В одной из наших старых строк подключения к приложению vb6:
nk = "Provider=SQLOLEDB;"
nk = nk + "Integrated Security=SSPI;"
nk = nk + "Persist Security Info=False;"
nk = nk + "User ID=sa;"
nk = nk + "Password=******;"
nk = nk + "Initial Catalog=" & db & ";"
nk = nk + "Data Source=" & hn
kon.ConnectionString = nk
kon.Open
Если я попытаюсь соединиться с этими опциями, он не будет работать, поэтому мне интересно, почему эти две опции:
nk = nk + "Integrated Security=SSPI;"
nk = nk + "Persist Security Info=False;"
не игнорируются?
Напомню, что приложение подключается к Sql Server 2016 Express в Windows Server 2016 Standard по локальной сети.
1 ответ
Ваша проблема с
Комплексная безопасность =SSPI
Он должен быть установлен в false (или вообще удален), так как вы не используете текущую аутентификацию пользователя Windows, а стандартную регистрацию с использованием пароля пользователя SQL.
Если установлено значение false, идентификатор пользователя и пароль указываются в соединении. Когда true, учетные данные текущей учетной записи Windows используются для проверки подлинности. Распознаются значения true, false, yes, no и sspi (настоятельно рекомендуется), что эквивалентно true. Если указаны ИД пользователя и Пароль, а для Интегрированной безопасности установлено значение true, ИД и Пароль пользователя будут игнорироваться и будет использоваться Интегрированная защита.