【发布时间】:2011-07-25 15:22:28
【问题描述】:
从 Excel 电子表格中的 VBA 代码连接到 Oracle 数据库时遇到错误。我运行的查询工作正常,但是当我尝试关闭连接时,我收到以下错误:
运行时错误 3265:在与请求的名称或序号对应的集合中找不到项目。
我的代码副本如下。错误发生在“cn.close”行。任何帮助将不胜感激!
Sub GetData()
Dim cn As New ADODB.Connection
comm As New ADODB.Command
rs As New ADODB.Recordset
On Error GoTo errhandler:
cn.ConnectionString = "DSN=XXX;Uid=XXX;Password=XXX;"
cn.Open
comm.CommandType = adCmdText
comm.CommandText = "Select * from XXX where rownum < 10;"
Set comm.ActiveConnection = cn
rs.ActiveConnection = cn
rs.Open comm
Sheets("Sheet1").Range("a1").Offset(1, 0).CopyFromRecordset rs 'copy the records
rs.Close
cn.Close
errhandler:
Debug.Print (Err.Description)
Debug.Print "Error# " & cn.Errors(0).NativeError & ": " & cn.Errors(0).Description
Stop
End Sub
【问题讨论】:
-
尝试在您的 cn.Close 行下方添加 Exit Sub。并删除“停止”:那里不需要。