Я использую ADODB для запроса базы данных SQL.Многие из моих запросов работают нормально, но один конкретный запрос продолжает вызывать проблемы.
Когда я запускаю запрос, он выдает ошибку E_FAIL.В нескольких статьях указывается, что в этом случае для .Cursorlocation должно быть задано значение adUseServer.Когда я делаю это, ошибка действительно исчезает.Однако с этим параметром данные усекаются.Только некоторые поля в таблице.Когда я гуглю об этой проблеме, он предлагает установить .Cursorlocation в adUseClient.Вроде расстраивает.Кто-нибудь может помочь с этим?
Set rs = CreateObject("ADODB.Recordset")
Set cn = CreateObject("ADODB.Connection")
With rs
.CursorLocation = adUseClient
.LockType = adLockBatchOptimistic
.CursorType = adOpenStatic
.ActiveConnection = cn
End With
rs.Open sqlstring, cn, adOpenStatic
For i = 0 To rs.Fields.Count - 1
ActiveSheet.Cells(2, i + 1).Value = rs.Fields(i).Name
Next i
ActiveSheet.Range("A3").CopyFromRecordset rs