У меня есть очень простой код VBA в Excel, который запрашивает базу данных MariaDB, используя ADO, а затем копирует этот набор записей в Excel. Проблема заключается в том, что когда код запускается на некоторых машинах, он работает нормально, а на других он возвращает «Поставщик данных или другая служба возвратили статус E_FAIL».
Dim sConn As String
Set adConn = New ADODB.Connection
If adConn.State = adStateClosed Then
sConn = "Driver=MariaDB ODBC 3.0 Driver;" & _
"Server=server;" & _
"Database=database;" & _
"User=user;" & _
"Password=password;" & _
"Option=3"
adConn.ConnectionString = sConn
adConn.Open
End If
Dim adRs As ADODB.Recordset
Set adRs = New ADODB.Recordset
adRs.CursorLocation = adUseClient
Dim SQLQuery as String
SQLQuery = "SELECT * FROM table;"
adRs.Open SQLQuery, adConn, adOpenStatic, adLockPessimistic
Worksheets("Sheet1").Range("A1").CopyFromRecordset adRs
Учитывая, что он работает на некоторых компьютерах, а не на других, я думаю, что это может быть связано с конфигурациями или драйверами на самих компьютерах, а не с Excel, VBA или SQL. Куда мне смотреть? Все машины являются 64-битными, а драйвер - 64-битным. Что-то не так в коде? В строке подключения?