C#连接Oracle的方法实例总结
本文实例总结了C#连接Oracle的方法。分享给大家供大家参考,具体如下:
一、通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)
1.添加命名空间System.Data.OracleClient引用
2.
usingSystem.Data.OracleClient;
3.
stringconnString="UserID=IFSAPP;Password=IFSAPP;DataSource=RACE;"; OracleConnectionconn=newOracleConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
二、通过System.Data.OracleClient(需要安装Oracle客户端不需配置tnsnames.ora)
1.添加命名空间System.Data.OracleClient引用
2.
usingSystem.Data.OracleClient;
3.
stringconnString="UserID=IFSAPP;Password=IFSAPP;DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=RACE)))"; OracleConnectionconn=newOracleConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
三、通过System.Data.OleDb和Oracle公司的驱动
1.添加命名空间System.Data.OracleClient引用
2.
usingSystem.Data.OleDb;
3.
stringconnString="Provider=OraOLEDB.Oracle.1;UserID=IFSAPP;Password=IFSAPP;DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=RACE)))"; OleDbConnectionconn=newOleDbConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
四、通过System.Data.OleDb和微软公司的Oracle驱动
1.添加命名空间System.Data.OracleClient引用
2.
usingSystem.Data.OleDb;
3.
stringconnString="Provider=MSDAORA.1;UserID=IFSAPP;Password=IFSAPP;DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=RACE)))"; OleDbConnectioncnn=newOleDbConnection(connString); try { conn.Open(); MessageBox.Show(conn.State.ToString()); } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
备注:
a.XP操作系统已经安装了微软公司的Oracle驱动C:\ProgramFiles\CommonFiles\System\OleDB\msdaora.dll
b.该驱动需要Oracle客户端的三个文件(oraocixe10.dll、oci.dll、ociw32.dll)放在System32下即可
五、使用ODP连接
1.下载安装ODP.NET(http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html)
2.安装完全成后会产生一序列文件。
3.找到这个安装目录,打开文件夹%ORACLE_HOME%\Network\Admin在这个下面建立一个tnsnames.ora的文件,其内容可以参考其下的Sample目录下面的配置
Oracle.RACE= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521) ) ) (CONNECT_DATA= (SID=RACE) (SERVER=DEDICATED) ) )
Oracle.RACE为连接字符串名称,可以随便取。等号后面的字符串可以在EnterpriseManagerConsole工具中连接数据库后的TNS描述符中拷过来
4.引用Oracle.DataAccess命名空间
5.
usingOracle.DataAccess.Client;
6.示例代码:
stringconnString="DATASOURCE=Oracle.RACE;PERSISTSECURITYINFO=True;USERID=IFSAPP;password=IFSAPP"; OracleConnectionconn=newOracleConnection(connString); try { conn.Open(); OracleCommandcmd=newOracleCommand(cmdText,conn); OracleDataReaderreader=cmd.ExecuteReader(); this.DataGridView1.DataSource=reader; this.DataGridView1.DataBind(); } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
六、使用第三方驱动
第三方驱动有Devart,下载驱动http://www.devart.com/dotconnect/oracle/,但是是商业版,需要购买许可或破解
连接格式UserID=myUsername;Password=myPassword;Host=ora;Pooling=true;MinPoolSize=0;MaxPoolSize=100;ConnectionLifetime=0;
1.引用Devart.Data.Oracle命名空间
2.
usingDevart.Data.Oracle;
3.
OracleConnectionconn=newOracleConnection(); conn.ConnectionString=""; conn.Unicode=true; conn.UserId="IFSAPP"; conn.Password="IFSAPP"; conn.Port=1521; conn.Server="127.0.0.1"; conn.Sid="RACE"; try { conn.Open(); //executequeries,etc } catch(Exceptionex) { ShowErrorMessage(ex.Message.ToString()); } finally { conn.Close(); }
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。