这篇文章主要介绍了c#连接oracle的方法,结合实例形式总结分析了几种常见的c#连接oracle数据库的操作技巧与相关注意事项,需要的朋友可以参考下
本文实例总结了C#连接Oracle的方法。分享给大家供大家参考,具体如下:
一、通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)
1. 添加命名空间System.Data.OracleClient引用
using System.Data.OracleClient;
登录后复制登录后复制
string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;";OracleConnection conn = new OracleConnection(connString);try{ conn.Open(); MessageBox.Show(conn.State.ToString());}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
二、通过System.Data.OracleClient(需要安装Oracle客户端不需配置tnsnames.ora)
1. 添加命名空间System.Data.OracleClient引用
using System.Data.OracleClient;
登录后复制登录后复制
string connString = "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)))";OracleConnection conn = new OracleConnection(connString);try{ conn.Open(); MessageBox.Show(conn.State.ToString());}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
三、通过System.Data.OleDb和Oracle公司的驱动
1. 添加命名空间System.Data.OracleClient引用
using System.Data.OleDb;
登录后复制登录后复制
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)))";OleDbConnection conn = new OleDbConnection(connString);try{ conn.Open(); MessageBox.Show(conn.State.ToString());}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
四、通过System.Data.OleDb和微软公司的Oracle驱动
1. 添加命名空间System.Data.OracleClient引用
using System.Data.OleDb;
登录后复制登录后复制
string connString = "Provider=MSDAORA.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)))";OleDbConnection cnn = new OleDbConnection(connString);try{ conn.Open(); MessageBox.Show(conn.State.ToString());}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
备注:
a.XP操作系统已经安装了微软公司的Oracle驱动C:Program FilesCommon FilesSystemOle DBmsdaora.dll
b.该驱动需要Oracle客户端的三个文件(oraocixe10.dll、oci.dll、ociw32.dll)放在System32下即可
五、使用ODP连接
1. 下载安装ODP.NET(www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html)
2. 安装完全成后会产生一序列文件。
3. 找到这个安装目录,打开文件夹%ORACLE_HOME%NetworkAdmin在这个下面建立一个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为连接字符串名称,可以随便取。等号后面的字符串可以在Enterprise Manager Console工具中连接数据库后的TNS描述符中拷过来
4. 引用Oracle.DataAccess命名空间
using Oracle.DataAccess.Client;
登录后复制
6. 示例代码:
string connString = "DATA SOURCE=Oracle.RACE;PERSIST SECURITY INFO=True;USER ID=IFSAPP;password=IFSAPP";OracleConnection conn = new OracleConnection(connString);try{ conn.Open(); OracleCommand cmd = new OracleCommand(cmdText,conn); OracleDataReader reader = cmd.ExecuteReader(); this.DataGridView1.DataSource = reader; this.DataGridView1.DataBind();}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
六、使用第三方驱动
第三方驱动有 Devart,下载驱动www.devart.com/dotconnect/oracle/,但是是商业版,需要购买许可或破解
连接格式 User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
1. 引用Devart.Data.Oracle命名空间
using Devart.Data.Oracle;
登录后复制
OracleConnection conn = new OracleConnection();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(); //execute queries, etc}catch (Exception ex){ ShowErrorMessage(ex.Message.ToString());}finally{ conn.Close();}
登录后复制
以上就是C#连接Oracle的实例教程的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2439447.html