Блог

Подключение к ODBC под текущим пользователем Windows

2025-10-08 18:37 Блог разработчика
Чтобы подключиться к ODBC-источнику данных под учетной записью текущего пользователя Windows (то есть с использованием интегрированной аутентификации), можно использовать VBScript на базе WSH (Windows Script Host) и механизм ADO. Основная идея состоит в том, чтобы в строке подключения явно указать Trusted_Connection=Yes или Integrated Security=SSPI. Ниже приведён пример кода без каких-либо плейсхолдеров:
Option Explicit

Dim objConnection
Set objConnection = CreateObject("ADODB.Connection")

' Здесь DataSourceName — это имя вашего ODBC источника данных (DSN), который вы настроили в системных настройках ODBC.
' При использовании Trusted_Connection=Yes, скрипт будет подключаться к БД под текущим пользователем Windows.
objConnection.Open "DSN=DataSourceName;Trusted_Connection=Yes;"

' Проверка подключения
If objConnection.State = 1 Then
WScript.Echo "Подключение успешно выполнено!"
Else
WScript.Echo "Не удалось подключиться к источнику данных."
End If

' --- Действия с базой данных ---
' Напишите ваш SQL-запрос или логику работы с данными.
' Например:
'Dim rs
'Set rs = objConnection.Execute("SEL ECT TOP 10 * FR OM SomeTable")
'Do Until rs.EOF
' WScript.Echo rs("ColumnName")
' rs.MoveNext
'Loop
'rs.Close
'Set rs = Nothing

' Закрываем соединение
objConnection.Close
Set objConnection = Nothing
Пояснения по шагам:

  1. Создание объекта ADO Connection: CreateObject("ADODB.Connection") даёт нам объект подключения к базе данных.
  2. Открытие соединения:

  • Указываем DSN=DataSourceName;Trusted_Connection=Yes;.
  • Trusted_Connection=Yes говорит драйверу, что надо использовать Windows-аутентификацию и текущие учётные данные пользователя, запускающего скрипт.

Проверка objConnection.State даёт понять, удалось ли подключиться.

Выполнение SQL-запросов: с помощью методов объекта objConnection или с использованием объекта Recordset.

Закрытие соединения: всегда закрывайте соединение после завершения работы.

Если в вашей среде требуется использовать другие параметры (например, конкретный драйвер или сервер), достаточно подправить строку подключения. Но в базовом случае через существующий DSN, настроенный под Windows-аутентификацию, достаточно прописать вышеуказанную строку с Trusted_Connection=Yes.

Таким образом, запустив этот VBScript через WSH (например, командой cscript scriptname.vbs), вы сможете подключиться к ODBC-источнику данных под текущей учётной записью Windows.