Подключение к SQL Server 2016 с использованием VBA (Excel) - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь подключиться к базе данных на SQL Server 2016. С помощью мастера Excel (Данные -> Получить данные -> Из базы данных -> Из базы данных SQL Server) я могу подключиться, и все работает какожидается.

Далее я попытался подключиться к серверу с VBA, но безуспешно:

Первая попытка с поставщиком sqloledb:

Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Dim con as string

Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset

con = "Provider=sqloledb;Data Source=10.111.1.1,123456;Network Library=DBMSSOCN;Initial Catalog=DB01;User ID=user123;Password=XXXX;Integrated Security=SSPI"

objMyConn.ConnectionString = con
objMyConn.Open

Еще одна попытка с SQLNCLI11.

Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sXMLResult As String

con.ConnectionString = "Provider=SQLNCLI11;" _
         & "Server=10.111.1.1,123456" _
         & "Database=DB01;" _
         & "User ID=user123;" _
         & "Password=XXXX;" _
         & "DataTypeCompatibility=80;"

con.Open

При обеих попытках кода я получаю ошибку

[DBNETLIB] [ConnectionOpen (Connect ()).] SQL Server не существует или доступ запрещен.

Я пробовал как с именем сервера, так и с IP.Порт правильный.Что еще я мог попробовать?Какую строку подключения использует встроенная функция «Получить данные»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...