Открытие ADODB.Connection - Ошибка получения: «Не найдено имя источника данных и не указан драйвер по умолчанию». - PullRequest
1 голос
/ 29 мая 2019

Вкл. oConn.Open Я получаю сообщение об ошибке

[Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию

ЦельПроект заключается в создании отчета в Excel из базы данных SQL.Это первая попытка протестировать концепцию и увидеть, насколько мы можем ее расширить.Хранимая процедура работает, я проверил в SQL.

Я проверил, что есть библиотека Microsoft ActiveX Data Objects 6.1.Я знаю, что есть также 2.8, но я решил использовать самое последнее расширение.

Я не знаю, нужно ли мне что-то запускать или подключать в любом случае.Я запустил «ODBC Data Sources (64-bit)», однако в ODBC я ничего не редактировал.

Вот весь код, который я запускаю в VBA.

Sub DataTakenFromSQL()
Dim oConn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim fld As ADODB.Field
Dim mySQL As String
Dim Row As Integer
Dim Col As Integer
Dim ws As ThisWorkbook
Set ws = ThisWorkbook
Application.ScreenUpdating = False
Set oConn = New ADODB.Connection
Set rs = New ADODB.Recordset
mySQL = "EXEC [StoredProc] @var = 'nVarChar'"
oConn.ConnectionString = "{SQL Server};" & _
  "Server=[SERVER];uid=[UN];pwd=[PW];database=[DATABASE]"
oConn.ConnectionTimeout = 90

oConn.Open

rs.Open mySQL, oConn
If rs.EOF Then
    MsgBox "No Matching Records"
    rs.Close
    oConn.Close
    Exit Sub
End If
Row = 5
Col = 1
    For Each fld In rs.Fields
    Sheet1.Cells(Row, Col).Value = fld.Name
    Col = (Col + 1)
    Next
rs.MoveFirst
Row = Row + 1
Do While Not rs.EOF
    Col = 1
    For Each fld In rs.Fields
    Sheet1.Cells(Row, Col).Value = fld
    Col = Col + 1
    Next
Row = Row + 1
rs.MoveNext
Loop
rs.Close
oConn.Close    
End Sub

1 Ответ

0 голосов
/ 12 июня 2019

Код отсутствовал:

 Driver={SQLServer};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

как указано Fink (пользователь: 167478). После добавления я смог успешно запустить сохраненный процесс.

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