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

Posted 数据库

篇首语:即使道路坎坷不平,车轮也要前进;即使江河波涛汹涌,船只也航行。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用.NET新提供的managed provider来访问Oracle数据相关的知识,希望对你有一定的参考价值。

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

  微软公司把SQL Server提升为 NET应用程序的数据库 但是 由于Oracle很高的市场占有率 你无疑需要在 NET应用程序中使用Oracle数据 在ADO NET中 Oracle数据是利用通用的OLE DB provider来访问的 但是这在性能上落后于SQL Server的管理提供者(managed provider) 微软公司认识到了有必要专门为Oracle提供管理者(provider) 因此它发布了 NET Managed Provider For Oracle 让我们看看如何利用它来访问数据的     得到你所需要的       在以前 人们常常用 驱动(driver) 这一词来表示让应用程序访问数据库的工具 现在 在 NET下 人们用 管理提供者(managed provider) 来取代 驱动 一词 NET Managed Provider For Oracle是对 NET的一个附加 它依赖于Oracle客户软件来与Oracle数据库接口 所以 除了拥有 NET提供者之外 你还需要安装Oracle客户软件     你还需要在Visual Studio NET中添加对System Data OracleClient dll的引用 为此 你可以在Visual Studio NET中鼠标右击References列表或者从菜单栏中选择Project | Add Reference 你也许还需要在你的应用程序中正确导入System Data OracleClient名字空间     访问数据   NET环境的一大优点就是数据库访问代码通常遵循相同的模式而与后端数据库无关 首先 你建立一个连接 然后配置SQL语句或者指令 最后 执行SQL(语句或者命令)并处理结果     显而易见 用来访问Oracle数据库的代码与用来访问SQL Server的代码不会有很大的区别 这两者的对象名字不同 但是过程是相似的 你可以在清单A中的VB NET代码中很清楚的看出这一点   清单A如下   Listing A: Accessing Oracle data      Dim oracleConnection As New OracleConnection() Dim oracleCommand As New OracleCommand() Dim oracleReader As OracleDataReader Dim sqlString As String  sqlString = data source=oracle server;user id=test;password=test oracleConnection ConnectionString = oracleConnection Open() oracleCommand CommandText = SELECT * FROM DBTEST PEOPLE oracleCommand Connection = oracleConnection oracleReader = oracleCommand ExecuteReader    清单A中的代码建立一个连接 创建一个命令对象(该对象用来返回PEOPLE表中所有的行) 并用OracleDataReader(它与SqlDataReader和OleDbDataReader对象相似)来读取数据     如果你用其它 NET环境来处理SQL Server 你会立即注意到你所用到的类的名字与Oracle对应类的名字是相似的 例如 SQL Server连接类命名为SqlConnection 而Oracle连接类命名为OracleConnection         提防错误  在所有的 NET开发中 你都应该密切监视例外的产生以确保在访问数据时代码执行无误 OracleClient名字空间包括了一个特定于Oracle的例外类 即OracleException 它可以用在标准的try…catch代码块中 清单B给出的代码就利用上述方法来捕获任何例外 清单B给出了一个如何在运行时处理例外的例子   清单B如下   Listing B: Exception handling         Dim oracleConnection As New OracleConnection() Dim oracleCommand As New OracleCommand() Dim oracleReader As OracleDataReader Dim sqlString As String sqlString = data source=oracle server;user id=test;password=test Try oracleConnection ConnectionString = sqlString oracleConnection Open() oracleCommand CommandText = SELECT * FROM DBTEST PEOPLE oracleCommand Connection = oracleConnection oracleReader = oracleCommand ExecuteReader Work with oracle data oracleReader Close() oracleCommand Dispose() Catch ex As OracleException handle the exception Catch ex As Exception handle the exception Finally If Not (oracleConnection Is Nothing) Then oracleConnection Close() End If End Try      尽管在本文中我用到了OracleDataReader类 但实际上Oracle数据提供者包括了所有标准ADO NET类(如OracleDataSet和OracleDataAdapter)的各种版本 微软公司推出的 NET Managed Provider For Oracle提供了自由访问Oracle数据的必备工具 其性能远优于对OLE DB的访问 ADO NET类的设计对数据库的访问所用的方法相同 对象相似 与数据库类型无关 因此 OLE DB项目可以很容易转换到Oracle下 cha138/Article/program/Oracle/201311/16573

相关参考

知识大全 用Solstice Enterprise Manager建立Java网络管理应用程序

用SolsticeEnterpriseManager建立Java网络管理应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容

知识大全 用VC.NET制作启动屏幕的新方法

用VC.NET制作启动屏幕的新方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在利用VC+编

知识大全 ADO.NET中的.NET数据提供者

ADO.NET中的.NET数据提供者  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADONET

知识大全 安装sql server 2008 management提示已安装 SQL Server 2005

安装sqlserver2008management提示已安装SQLServer2005  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布

知识大全 采购经理 英文是不是Purchase Manager

采购经理英文是不是PurchaseManager  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!采购经

知识大全 花旗寿险(CitiInsurance 上海)-Management Associate 治理培训

花旗寿险(CitiInsurance上海)-ManagementAssociate治理培训  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后

知识大全 Oracle Enterprise Manager常见问题及解决

OracleEnterpriseManager常见问题及解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 如何安装SQL Server 2008 Management Studio Express

如何安装SQLServer2008ManagementStudioExpress  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容

知识大全 Inside Oracle9i Tablespace Management

InsideOracle9iTablespaceManagement  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 关于 GUI、Window manager、Desktop、Interface 几个概念的问题

关于GUI、Windowmanager、Desktop、Interface几个概念的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发