在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