.net中连接Oracle 的两种方式:OracleClient,OleDb

.net中连接Oracle 的两种方式:OracleClient,OleDb

.net中连接Oracle 的两种方式:OracleClient,OleDb

.Net 中读写Oracle数据库常用两种方式:OracleClient和OleDb,其中OleDb的方式根据驱动程序的不同又有两种。

1. OracleClient方式,是微软专门针对Oracle数据库开发的,仅在 .NET Framework 1.1 版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Oracle数据库服务器端采用英文字符集比如 US7ASCII 时,客户端不管字符集如何 设置,读出的中文都是乱码 ;若服务器端用中文字符集比如 ZHS16GBK ,则无乱码问题。
引用类库:System.Data.OracleClient.dll。 
命名空间:System.Data.OracleClient。
常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。
典型连接字符串:“data source=oratest;user id=scott;password=tiger”(注意:可不指定 provider 驱动)。

2. OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。 不管Oracle服务器端用何字符集,读写中文均无乱码问题 。

相同之处

命名空间:System.Data.OleDb。

常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。

不同之处

引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装 Oracle针对.Net的数据访问组件

连接字符串:与OracleClient方式相比,要添加一个provider,微软为“provider=MSDAORA.1;”,Oracle为“provider=’OraOleDb.Oracle’;”。

string connString = "Provider=OraOLEDB.Oracle.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";

使用OleDB组件可以获得比OracleClient更高的效率和性能,因为OleDB是比ADO.NET更底层的组件,ADO.NET也要通过OleDB获取数据。

C# 连接 Oracle 的几种方式

实例连接:

OleDbConnection conn=
        

             Data 

              

            

   

try{
     conn.Open();
     OleDbCommand comm=new OleDbCommand("select * from scott.emp",conn);
       Console.WriteLine("姓名      职位");
     while(dr.Read())
     {
           Console.WriteLine(dr.GetString(1)+"     }

   

}finally{
     dr.Close();
         }

.Net 中读写Oracle数据库常用两种方式:OracleClient和OleDb,其中OleDb的方式根据驱动程序的不同又有两种。

1. OracleClient方式,是微软专门针对Oracle数据库开发的,仅在 .NET Framework 1.1 版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Oracle数据库服务器端采用英文字符集比如 US7ASCII 时,客户端不管字符集如何 设置,读出的中文都是乱码 ;若服务器端用中文字符集比如 ZHS16GBK ,则无乱码问题。

引用类库:System.Data.OracleClient.dll。 

命名空间:System.Data.OracleClient。

常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。

典型连接字符串:“data source=oratest;user id=scott;password=tiger”(注意:可不指定 provider 驱动)。

2. OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。 不管Oracle服务器端用何字符集,读写中文均无乱码问题 。

相同之处

命名空间:System.Data.OleDb。

常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。

不同之处

引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装 Oracle针对.Net的数据访问组件

连接字符串:与OracleClient方式相比,要添加一个provider,微软为“provider=MSDAORA.1;”,Oracle为“provider=’OraOleDb.Oracle’;”。

string connString = "Provider=OraOLEDB.Oracle.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";

使用OleDB组件可以获得比OracleClient更高的效率和性能,因为OleDB是比ADO.NET更底层的组件,ADO.NET也要通过OleDB获取数据。

C# 连接 Oracle 的几种方式

实例连接:

OleDbConnection conn=
        

             Data 

              

            

 

try{
     conn.Open();
     OleDbCommand comm=new OleDbCommand("select * from scott.emp",conn);
       Console.WriteLine("姓名      职位");
     while(dr.Read())
     {
           Console.WriteLine(dr.GetString(1)+"     }
        }finally{
     dr.Close();
         }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39556.html

(0)
编程小号编程小号
上一篇 2023-07-18
下一篇 2023-07-18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注