在VB.NET开发ORACLE,用OO4O连接ORACLE。
当使用完记录集时,用RS.CLOSE RS=NOTHING 方法销毁记录集根本就不好使。记录集会一直被挂起。所以很容易报ORA-01000 这个错。
但是在VB.6中RS.CLOSE set RS=NOTHING 却好用。为什么?
我又用ADO.NET作了实验,正常。VB.NET下的代码入下,我在循环中打开多个记录集,每次又都 RS.CLOSE RS=NOTHING 。但是这个小例子会报ORA-01000这个错。Public gOraSession As OracleInProcServer.OraSession
Public gOraDb As OracleInProcServer.OraDatabase
Public  gsOraDSN as string
Public  gsOraUID as string
Public  gsOraPWD as string
'****************************************************
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Long
        Dim rs As OracleInProcServer.OraDynaset
        Dim str1 As String gsOraDSN ="DB"
gsOraUID ="UserId"
gsOraPWD ="PassWord" S_ConnectOra
str1 = "select * from dual"        For i = 1 To 1000          rs = gOraDb.CreateDynaset(str1, ORADYN_DEFAULT)
            rs.Close()
            rs = Nothing        Next
 End Sub'********************************************Public Function S_ConnectOra() As Boolean        '●ORACLE接続        Dim Ret As Integer
        S_ConnectOra = False
        On Error GoTo Err_ConnectOra        gOraSession = CreateObject("OracleInProcServer.XOraSession")
        gOraDb = gOraSession.OpenDatabase(gsOraDSN, gsOraUID & "/" & gsOraPWD, ORADB_DEFAULT)
        S_ConnectOra = True        Exit FunctionErr_ConnectOra:MsgBox("ERROR")End Function

解决方案 »

  1.   

    .net 中不能用 set rs=nothing 么?rs 是一个对象,赋值当然要用 set 了
      

  2.   

    VB.net中 不支持 set rs=nothing 
    set rs=nothing  相当于 VB.net中的 rs=nothing 
    这事一样的
      

  3.   

    to:boydgmx(梦霄) 
    我记得你昨天回答了我的一个PLSQL的问题,谢谢你呀。
    这个问题也请你关注一下呀