我正在使用ADODB查询SQL数据库。我的许多查询都可以正常工作,但是其中一个特定的查询一直存在问题。
当我运行查询时,它给出一个E_FAIL错误。多篇文章指出,在这种情况下,应将.Cursorlocation设置为adUseServer。当我这样做时,错误确实消失了。但是,使用此设置,数据将被截断。仅表中的某些字段。当我用Google搜索该问题时,建议将.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