我在oracle DB上运行SQL查询,它只是一个简单的select * from table查询。这适用于900行和5列的小表。但是当我在一个有30列和95,000行的表上尝试时,我得到以下错误。我尝试增加MaxRecords,但无济于事。
Error 代码
Public Const sConnect As String = "Driver={Microsoft ODBC for
Oracle};Server=server;Uid=user;Pwd=password"
Sub GetData1()
i = 0
Sheets(1).Range("a1:ao20000").ClearContents
Dim rsConnection As ADODB.Connection
Dim rsRecordset As ADODB.Recordset
Dim sQuery As String
sQuery = "select * from trade"
Set rsConnection = New ADODB.Connection
Set rsRecordset = New ADODB.Recordset
rsConnection.ConnectionString = sConnect
rsConnection.Open
rsRecordset.MaxRecords = 1048575
Set rsRecordset = rsConnection.Execute(sQuery)
Worksheets(1).Range("A2").CopyFromRecordset rsRecordset
For i = 0 To rsRecordset.Fields.Count - 1
Worksheets("Sheet1").Cells(1, i + 1).Value = rsRecordset.Fields(i).Name
Next i
rsConnection.Close
Set rsConnection = Nothing
Set rsRecordset = Nothing
End Sub
此致 添
答案 0 :(得分:1)
经过多一点挖掘后,我找到了答案。它涉及TIMESTAMP(6)的数据库字段。我必须重做我的数据库查询来执行to_char(timestamp_field),一切正常。
由于 添