Я пытаюсь подключиться к базе данных на 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.Порт правильный.Что еще я мог попробовать?Какую строку подключения использует встроенная функция «Получить данные»?