[英]Excel vba to read data from a oracle database which was set to readonly
我正在尝试使用excel中的adodb连接对象从oracle读取数据。但是我收到一个错误“ oracle -160000数据库设置为只读访问权限”。请让我知道如何解决此问题。
Look at the recordset open method's LockType parameter and use adLockReadOnly. 查看记录集打开方法的LockType参数,然后使用adLockReadOnly。 I'm not familiar with Oracle.
我对Oracle不熟悉。 You may also need to CursorType parameter to adOpenForwardOnly.
您可能还需要将CursorType参数设置为adOpenForwardOnly。
Example: 例:
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
.
.
.
or if you just want to dump the data into a worksheet 或者如果您只想将数据转储到工作表中
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.