知识大全 使用OLE对象访问Oracle数据库

Posted 数据库

篇首语:学在苦中求,艺在勤中练。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用OLE对象访问Oracle数据库相关的知识,希望对你有一定的参考价值。

使用OLE对象访问Oracle数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  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并均调试通过      cha138/Article/program/Oracle/201311/16539

相关参考

知识大全 .NET 访问 Oracle 数据库相关

.NET访问Oracle数据库相关  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SystemD

知识大全 设置sqlplus访问远程oracle数据库的方法

  如果要连接远程数据库传统的一定可行的方法是在本地装一个oracle然后使用NeorkConfigurationAssistant配置之后用PL/SQLDev连接  oracle官网上提供了最小访问

知识大全 .NET访问Oracle数据库相关

.NET访问Oracle数据库相关  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  长期以来我一直

知识大全 Oracle访问Sybase数据库的方法

Oracle访问Sybase数据库的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  配置TR

知识大全 Oracle限定特定IP访问数据库

Oracle限定特定IP访问数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  可以在$ORE

知识大全 讲解jython访问Oracle数据库的具体步骤

讲解jython访问Oracle数据库的具体步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 如何使用ADO访问Oracle数据库存储过程

如何使用ADO访问Oracle数据库存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一关

知识大全 在ORACLE里设置访问多个SQL Server数据库

在ORACLE里设置访问多个SQLServer数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 使用动态数据库访问对象

  前两天看到Warpframework的介绍它基于GoogleGuice是一个轻量级的web开发框架它的Dynamicfinder特性实在让人兴奋代码非常简单支持注入大大简化了DAO层的开发下面看看

知识大全 用.NET新提供的managed provider来访问Oracle数据

用.NET新提供的managedprovider来访问Oracle数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶