论文部分内容阅读
摘 要:简要介绍了.NET中访问Oracle数据库的核心类,重点详细分析了使用OLEDB等组件访问Oracle数据库的5种方法。最后给合一个具体实例来说明.net环境下如何连接并操作Oracle数据库。
关键词:NET;连接方式;核心类
引言
随着信息技术的飞速发展与广泛运用,基于.NET的Oracle数据库开发应用越来越多普遍。在数据库开发过程中,连接数据库是第一步,也是最重要的一步,.NET平台中有专门的连接Oracle数据库的组件和类库。.NET中有内置的OLEDB组件,ODBC接口等。通过这些组件和接口,丰富了.NET中访问Oracle数据库的方法。
1. .NET中连接oracle数据库的几种方式
1.1 ODBC方式
(1)ODBC方式连接的条件和要求:
首要的是ODBC数据源管理器中已经安装好了ODBC驱动,查看系统中是否已安装好了ODBC驱动;另一方面就是需要安装Oracle客户端驱动包。必须安装oracle 7.3版(或更高)的客户端。
(2)客户程序通过ODBC访问数据库的方法:
引用类库:System.data.oracleclient;
命名空间:using System.data.oracleclient;
连接字符串:string odbcString="DataSource=OracleDs;User Id=myUsername;
Password=myPassword";
创建连接对象:OracleConnection conn = new OdbcConnection(odbcStr);
数据库打开:conn.Open();
1.2 OracleClient方式
(1)OracleClient方式连接的条件和要求:
微软专门针对Oracle数据库开发的(通常情况使用),仅在 .NET Framework 1.1 版中受支持,必须安装oracle client。安装完之后添加一个连接,一般是在安装目录下C:/oracle/ora90/network/ADMIN/tnsnames.ora中添加连接。需要有Microsoft 数据访问组件 (MDAC) 2.6 版或更高版本,还要安装 Oracle 8i Release 3 (8.1.7) 客户端或更高版本。
(2)客户程序通过OracleClient访问数据库的方法:
引用类库:System.Data.OracleClient.dll
命名空间:System.Data.OracleClient
连接字符串:string clientString="Provider=msdaora;DataSource=OracleDs;
User Id=myUsername;Password=myPassword";
创建连接对象:OracleConnection conn = new OracleConnection(clientString);
数据库打开:conn.Open();
1.3 OLEDB方式
(1)OLEDB方式连接的条件和要求:
OLEDB连接必须要有MSDAORA或OraOLEDB.Oracle,他们分别由微软和Oracle提供,需要安装微软的驱动和Oracle Data Provider for OLE DB 10.2.0.1.0。必须安装oracle 8i版(或更高)的客户端。
(2)客户程序通过OLEDB访问数据库的方法:
引用类库:System.Data.dll
命名空间:System.Data.OleDb
连接字符串: string OledbString="Provider=msdaora;Data Source=MyOracleDB;
User Id=myUsername;Password=myPassword ";
創建连接对象:OracleConnection conn = new OleDbConnection(OledbString);
数据库打开:conn.Open();
1.4 ODP.NET方式
(1)ODP.NET方式连接的条件和要求:
安装oracle对应版本的ODAC,主要安装以下组件: Oracle Instant Client、Oracle Data Provider 2.0 、Oracle rovider For,设置好环境变量, 配置好监听文件tnsnames.ora。需要安装Oracle Client 9i以上版本。
(2)客户程序通过ODP.NET访问数据库的方法:
引用类库:Oracle.DataAccesss.dll
命名空间:Oracle.DataAccess.Client、Oracle.DataAccess.Types
连接字符串:string conString="Data Source=MyOracleDB;User Id=myUsername;
Password=myPassword;Integrated Security=no";
1.5 Core Labs OraDirect方式
(1)Core Labs OraDirect方式连接的条件和要求:
直接访问oracle的.net类库, 可以免费使用一个月, 花钱购买类库,但是价格比较贵。不需要安装Oracle客户端,必须购买许可证。 (2)客户程序通过Core Labs OraDirect访问数据库的方法:
连接字符串:string conString="User ID=myUsename;Password=myPassword;Host=ora;
Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0";
2. .NET中訪问Oracle数据库的核心类
.NET中访问Oracle数据库实现时主要涉及到四个核心类,它们分别是:OracleConnection、OracleCommand、OracleDataReader、OracleDataAdapte r。(1)Connection类的功能是创建与指定Oracle数据源的连接,并完成初始化工作。提供一些方法允许程序员与Oracle数据源建立连接或者断开连接。(2)OracleCommand用于查询Oracle数据库并返回 Recordset 对象中的记录,以便执行大量数据操作或处理数据库结构。(3)OracleDataReader类用于以只读、顺向的方式查看其中所存储的数据,可以实现从数据源中快速读取数据流。(4)DataAdapter用作ADO.NET对象模型中和数据连接部分和未连接部分之间的桥梁,可以实现从数据库中获取数据,并将其结果存储在DataSet中。
3. 关于 Oracle数据库连接访问实例
下面给出一个在.NET中访问Oracle的具体实例,通过这个实例,可以看出访问Oracle数据库的全过程,与大家共勉。主要代码如下:
using System.Data.OracleClient;//引用OracleClient类
OracleConnection con=new OracleConnection("Data Source=myOracle;user id=system;password=manager;"); // 建立oracle数据库连接
OracleCommand cmd = new OracleCommand("select * from product", con);//创建一个OracleDateReader对象
con.Open();//打开数据库连接
OracleDataReader ds = cmd.ExecuteReader(CommandBehavior.CloseConnection);//读取数据,返回一个OracleDataReader数据实例
purGridView.DataSource = ds;//设置GridView数据源
purGridView.DataBind();
ds.Close();//关闭数据库连接
4. 结束语
基于.net的Oracle数据库应用开发,首要的任务就是进行Oracle数据库的连接,我们上面介绍了五种连接Oracle数据库的方式,在选择哪种连接方式时要在高效与通用性之间进行权衡,从而实现在.NET中快速而安全的数据访问。
参考文献
[1] 胡怀勇,胡勇军.Oracle数据库访问技术的探讨[J].现代计算机,2002,05:46-50.
[2] 袁鹏飞.数据库高级应用开发技术[M].北京:人民邮电出版社,2000.
作者简介:
敖勇平(1981-),男,江西樟树人,讲师,主要从事物联网技术和信息技术的教学与研究。
关键词:NET;连接方式;核心类
引言
随着信息技术的飞速发展与广泛运用,基于.NET的Oracle数据库开发应用越来越多普遍。在数据库开发过程中,连接数据库是第一步,也是最重要的一步,.NET平台中有专门的连接Oracle数据库的组件和类库。.NET中有内置的OLEDB组件,ODBC接口等。通过这些组件和接口,丰富了.NET中访问Oracle数据库的方法。
1. .NET中连接oracle数据库的几种方式
1.1 ODBC方式
(1)ODBC方式连接的条件和要求:
首要的是ODBC数据源管理器中已经安装好了ODBC驱动,查看系统中是否已安装好了ODBC驱动;另一方面就是需要安装Oracle客户端驱动包。必须安装oracle 7.3版(或更高)的客户端。
(2)客户程序通过ODBC访问数据库的方法:
引用类库:System.data.oracleclient;
命名空间:using System.data.oracleclient;
连接字符串:string odbcString="DataSource=OracleDs;User Id=myUsername;
Password=myPassword";
创建连接对象:OracleConnection conn = new OdbcConnection(odbcStr);
数据库打开:conn.Open();
1.2 OracleClient方式
(1)OracleClient方式连接的条件和要求:
微软专门针对Oracle数据库开发的(通常情况使用),仅在 .NET Framework 1.1 版中受支持,必须安装oracle client。安装完之后添加一个连接,一般是在安装目录下C:/oracle/ora90/network/ADMIN/tnsnames.ora中添加连接。需要有Microsoft 数据访问组件 (MDAC) 2.6 版或更高版本,还要安装 Oracle 8i Release 3 (8.1.7) 客户端或更高版本。
(2)客户程序通过OracleClient访问数据库的方法:
引用类库:System.Data.OracleClient.dll
命名空间:System.Data.OracleClient
连接字符串:string clientString="Provider=msdaora;DataSource=OracleDs;
User Id=myUsername;Password=myPassword";
创建连接对象:OracleConnection conn = new OracleConnection(clientString);
数据库打开:conn.Open();
1.3 OLEDB方式
(1)OLEDB方式连接的条件和要求:
OLEDB连接必须要有MSDAORA或OraOLEDB.Oracle,他们分别由微软和Oracle提供,需要安装微软的驱动和Oracle Data Provider for OLE DB 10.2.0.1.0。必须安装oracle 8i版(或更高)的客户端。
(2)客户程序通过OLEDB访问数据库的方法:
引用类库:System.Data.dll
命名空间:System.Data.OleDb
连接字符串: string OledbString="Provider=msdaora;Data Source=MyOracleDB;
User Id=myUsername;Password=myPassword ";
創建连接对象:OracleConnection conn = new OleDbConnection(OledbString);
数据库打开:conn.Open();
1.4 ODP.NET方式
(1)ODP.NET方式连接的条件和要求:
安装oracle对应版本的ODAC,主要安装以下组件: Oracle Instant Client、Oracle Data Provider 2.0 、Oracle rovider For,设置好环境变量, 配置好监听文件tnsnames.ora。需要安装Oracle Client 9i以上版本。
(2)客户程序通过ODP.NET访问数据库的方法:
引用类库:Oracle.DataAccesss.dll
命名空间:Oracle.DataAccess.Client、Oracle.DataAccess.Types
连接字符串:string conString="Data Source=MyOracleDB;User Id=myUsername;
Password=myPassword;Integrated Security=no";
1.5 Core Labs OraDirect方式
(1)Core Labs OraDirect方式连接的条件和要求:
直接访问oracle的.net类库, 可以免费使用一个月, 花钱购买类库,但是价格比较贵。不需要安装Oracle客户端,必须购买许可证。 (2)客户程序通过Core Labs OraDirect访问数据库的方法:
连接字符串:string conString="User ID=myUsename;Password=myPassword;Host=ora;
Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0";
2. .NET中訪问Oracle数据库的核心类
.NET中访问Oracle数据库实现时主要涉及到四个核心类,它们分别是:OracleConnection、OracleCommand、OracleDataReader、OracleDataAdapte r。(1)Connection类的功能是创建与指定Oracle数据源的连接,并完成初始化工作。提供一些方法允许程序员与Oracle数据源建立连接或者断开连接。(2)OracleCommand用于查询Oracle数据库并返回 Recordset 对象中的记录,以便执行大量数据操作或处理数据库结构。(3)OracleDataReader类用于以只读、顺向的方式查看其中所存储的数据,可以实现从数据源中快速读取数据流。(4)DataAdapter用作ADO.NET对象模型中和数据连接部分和未连接部分之间的桥梁,可以实现从数据库中获取数据,并将其结果存储在DataSet中。
3. 关于 Oracle数据库连接访问实例
下面给出一个在.NET中访问Oracle的具体实例,通过这个实例,可以看出访问Oracle数据库的全过程,与大家共勉。主要代码如下:
using System.Data.OracleClient;//引用OracleClient类
OracleConnection con=new OracleConnection("Data Source=myOracle;user id=system;password=manager;"); // 建立oracle数据库连接
OracleCommand cmd = new OracleCommand("select * from product", con);//创建一个OracleDateReader对象
con.Open();//打开数据库连接
OracleDataReader ds = cmd.ExecuteReader(CommandBehavior.CloseConnection);//读取数据,返回一个OracleDataReader数据实例
purGridView.DataSource = ds;//设置GridView数据源
purGridView.DataBind();
ds.Close();//关闭数据库连接
4. 结束语
基于.net的Oracle数据库应用开发,首要的任务就是进行Oracle数据库的连接,我们上面介绍了五种连接Oracle数据库的方式,在选择哪种连接方式时要在高效与通用性之间进行权衡,从而实现在.NET中快速而安全的数据访问。
参考文献
[1] 胡怀勇,胡勇军.Oracle数据库访问技术的探讨[J].现代计算机,2002,05:46-50.
[2] 袁鹏飞.数据库高级应用开发技术[M].北京:人民邮电出版社,2000.
作者简介:
敖勇平(1981-),男,江西樟树人,讲师,主要从事物联网技术和信息技术的教学与研究。