0
我想從excel中使用adodb連接對象從oracle讀取數據。但我收到錯誤「oracle -160000數據庫被設置爲只讀訪問」請讓我知道如何解決這個問題。Excel VBA從設置爲只讀的oracle數據庫讀取數據
我想從excel中使用adodb連接對象從oracle讀取數據。但我收到錯誤「oracle -160000數據庫被設置爲只讀訪問」請讓我知道如何解決這個問題。Excel VBA從設置爲只讀的oracle數據庫讀取數據
查看記錄集打開方法的LockType參數並使用adLockReadOnly。我不熟悉Oracle。您可能還需要將CursorType參數設置爲adOpenForwardOnly。
例子:
Dim lobjADOConnection As ADODB.Connection
Dim lobjADOData As ADODB.Recordset
Dim lstrSQL As String
Set lobjADOConnection = New ADODB.Connection
lobjADOConnection.Open ...
Set lobjADOData = New ADODB.Recordset
lstrSQL = "<your query here>"
lobjADOData.Open lstrSQL, lobjADOConnection, adOpenForwardOnly, adLockReadOnly '<===here
If Not lobjADOData.BOF Then
lobjADOData.MoveFirst
Do While Not lobjADOData.EOF
DoEvents
.
.
.
,或者如果你只是想將數據轉儲到工作表
Dim lobjTargetSheet As Worksheet
Set lobjTargetSheet = ThisWorkbook.Sheets("<SomeSheetName>")
With lobjTargetSheet
.Select
.Range("1:" & .UsedRange.Rows.count + 1).Delete xlUp
.Range("A1").Select
.Range("A1").CopyFromRecordset lobjADOData
End With
你可以給它一些協議 – user3471254
更新後用一個例子。 – thx1138v2