您现在的位置是:首页 >

数据库连接的五个对象 使用OLE对象访问Oracle数据库

火烧 2022-12-31 18:44:23 1082
使用OLE对象访问Oracle数据库   OLE即对象联接和嵌入技术 使用这一技术 我们在VB中不用任何控件就可轻松访问Oracle数据库的内容 在安装了Oracle的Oracle O ject fo
数据库连接的五个对象 使用OLE对象访问Oracle数据库

使用OLE对象访问Oracle数据库  

  OLE即对象联接和嵌入技术 使用这一技术 我们在VB中不用任何控件就可轻松访问Oracle数据库的内容 在安装了Oracle的Oracle Object for OLE后 就可以使用Oracle提供的OLE对象方便地访问数据库的内容了     运行下面示例程序的前提是你必须安装了Oracle的客户端或Personal Oracle 并且在安装时选择了Oracle Object for OLE选项 否则你将会得到 无法建立对象 的错误信息     首先 我们要建立与Oracle数据库的联接 这里我们使用到两个对象OraSession对象和OraDatabase对象 OraSession对象用于管理OraDatabase对象 使用OraSession对象的OpenDatabase方法可以建立OraDatabase对象 同时建立与Oracle数据库的联接以访问数据库的内容 下面的例子演示了如何使用OraSession对象和OraDatabase对象建立与Oracle数据库的联接     Private Sub Command_Click()     Dim OraSession As Object      Dim OraDatabase As Object       Dim Ls_username As String Ls_password As String Ls_server As String       Ls_server =        联接本地Oracle数据库       Ls_username = system        用户名为 system       Ls_password = manager        密码为 manager       建立 OraSession 对象       Set OraSession = CreateObject( OracleInProcServer XOraSession )       错误处理       On Error GoTo Connect_Err:       建立OraDatabase 对象以联接到Oracle数据库       Set OraDatabase = OraSession DbOpenDatabase(Ls_server Ls_username + / + Ls_password &&)       MsgBox 数据库联接成功! vbOKOnly + vbInformation 提示信息        On Error GoTo        Exit Sub      Connect_err:       If InStr(OraSession LastServerErrText ORA ) Then      MsgBox 无效的用户名和密码 数据库联接不成功! vbOKOnly + vbCritical 提示信息        Else      MsgBox 数据库联接不成功!请查看下面的出错信息 +Chr( )+OraSession LastServerErrText vbOKOnly + vbCritical 提示信息        End If      End Sub      建立了数据库联接后我们就可以运行相应的SQL命令对数据库的内容进行相应的操作了 对于非查询SQL命令(非SELECT命令) 可以使用OraDatabase对象的ExecuteSQL方法执行 而对数据库的查询则可使用OraDatabase对象的CreateDynaset方法建立OraDynaset对象来执行查询 然后建立OraFields对象对查询结果进行检索 下面我们分别举例演示如何新建一个用户然后查询并列出DBA_USERS视图中USERNAME字段的内容 程序如下     Private Sub Command_Click()       Dim OraSession As Object      Dim OraDatabase As Object      Dim OraDynaset As Object      Dim OraFields As Object       Dim Ls_username As String Ls_password As String Ls_server As String       Dim Ls_mess As String       Dim Li_I As Integer       Ls_server =        联接本地Oracle数据库       Ls_username = system        用户名为 system       Ls_password = manager        密码为 manager       Set OraSession = CreateObject( OracleInProcServer XOraSession )       On Error GoTo Connect_Err:       Set OraDatabase = OraSession DbOpenDatabase(Ls_server Ls_username + / + Ls_password &&)       执行SQL命令出错后跳转到Sql_err       On Error GoTo Sql_err:       Set OraDynaset = OraDatabase DbCreateDynaset( SELECT USERNAME FROM DBA_USERS &&)       If OraDynaset RecordCount > Then       建立OraFields对象对查询的内容进行检索      Set OraFields = OraDynaset Fields       Ls_mess = 用户列表 + Chr( )       Ls_mess = Ls_mess + OraFields( USERNAME ) Value       for Li_I = to OraDynaset RecordCount        OraDynaset MoveNext       Ls_mess = Ls_mess + Chr( ) + OraFields( USERNAME ) Value       Next Li_I       MsgBox Ls_mess vbOKOnly + vbInformation 查询结果        Else       MsgBox 未查询到相应信息! vbOKOnly + vbInformation 提示信息        End If       创建新用户TEST 密码为TEST       OraDatabase ExecuteSQL ( CREATE USER TEST IDENTIFIED BY TEST )       MsgBox 用户创建成功! vbOKOnly + vbInformation 提示信息        Set OraDynaset = OraDatabase DbCreateDynaset( SELECT USERNAME FROM DBA_USERS &&)       If OraDynaset RecordCount > Then       建立OraFields对象对查询的内容进行检索      Set OraFields = OraDynaset Fields       Ls_mess = 用户列表 + Chr( )       Ls_mess = Ls_mess + OraFields( USERNAME ) Value       for Li_I = to OraDynaset RecordCount        OraDynaset MoveNext       Ls_mess = Ls_mess + Chr( ) + OraFields( USERNAME ) Value       Next Li_I       MsgBox Ls_mess vbOKOnly + vbInformation 用户建立后查询结果        Else       MsgBox 未查询到相应信息! vbOKOnly + vbInformation 提示信息        End If      Exit Sub      Connect_err:       If InStr(OraSession LastServerErrText ORA ) Then      MsgBox 无效的用户名和密码 数据库联接不成功! vbOKOnly + vbCritical 提示信息        Else      MsgBox 数据库联接不成功!请查看下面的出错信息 + Chr( ) + OraSession LastServerErrText vbOKOnly + vbCritical 提示信息        End If       Exit Sub      Sql_err:       If OraDatabase LastServerErr <> Then        MsgBox 数据库操作出错!请查看下面的出错信息 + Chr( ) + OraDatabase LastServerErrText vbOKOnly + vbCritical 提示信息        End If      End Sub      以上只是简要讲述了在VB中使用Oracle的OLE对象联接并访问数据库的方法 当然Oracle所提供的OLE对象并不仅仅局限于上面提到的 而功能也远不止于此 有兴趣的读者可以查看Oracle的随机帮助信息 用OLE对象构造出功能强大的应用程序     上述程序在Visual Basic 下开发 数据库使用Personal Oracle 或Oracle for NT并均调试通过      lishixinzhi/Article/program/Oracle/201311/16539  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码