官方下载地址()(中文):/technetwork/cn/topics/dotnet/downloads/index.html
官方下载地址():/technetwork/topics/dotnet/downloads/index.html
首先介绍下开发环境:WIn10 64bit+Visual Studio +Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的)
目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracle.ManagedDataAccess.dll(最优)
1.微软的System.Data.OracleClient可以直接引用,但是VS会提示“System.Data.OracleClient.OracleConnection”已过时,这表明微软自己都不建议使用了,所以知道就可以了,不必使用
2.C#使用Oracle.DataAccess.Client也叫,他是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用。由于微软在.net framework4中会将System.Data.OracleClient.dll deprecated,而且就访问效率和速度而言,System.Data.OracleClient.dll与Oracle.DataAccess.dll相比,微软的确实没有oracle提供的类库有优势,所以我放弃了使用多年的System.Data.OracleClient.dll,取而代之的是。然而的优点不止这些,还包括:
1)不在安装客户端也能访问服务器上的oracle(假设Application Server与DB Server 分开)
2)不需要配置TnsNames.Ora文件
具体的使用方法请参考这位大侠的 /rrrrssss00/article/details/7178515/
还有这位大侠的/sumirry/article/details/46746331
如果项目要从System.Data.OracleClient.OracleConnection转Oracle.DataAccess.Client时,只需要在oracle安装目录下找到Oracle.DataAccess.dll添加引用,后usingOracle.DataAccess.Client;
其他的都不用动,即可。
连接字符串中如有用的是user=xxx就改成userid=xxx把原来Using的System.Data.OracleClient去掉即可。
3.重点学习最后一种Oracle.ManagedDataAccess.dll,第二种的优点很多,但是也有缺点,就是要区分用区分x86/x64版本。
下载dll和使用方法参考这位大侠的/zouhao/p/9236947.html
OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConnString"].ToString());con.Open();OracleCommand cmd = new OracleCommand(cmdString, con);OracleDataAdapter oda = new OracleDataAdapter();oda.SelectCommand = cmd;oda.Fill(ds);GridView1.DataSource = ds;GridView1.DataBind();
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Oracle 数据库访问连接字符串
// C#
...
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=scott;Password=tiger;Data Source=oracle;Pooling=true;Enlist=true;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5; Decr Pool Size=2";
con.Open();
...
以下网站提供连接字符串大全: