本文摘自PHP中文网,作者零下一度,侵删。
这篇文章主要介绍了C#连接Oracle的方法,结合实例形式总结分析了几种常见的C#连接Oracle数据库的操作技巧与相关注意事项,需要的朋友可以参考下本文实例总结了C#连接Oracle的方法。分享给大家供大家参考,具体如下:
一、通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)
1. 添加命名空间System.Data.OracleClient引用
1 | using System.Data.OracleClient;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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引用
1 | using System.Data.OracleClient;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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引用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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引用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 Files\Common Files\System\Ole DB\msdaora.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%\Network\Admin在这个下面建立一个tnsnames.ora的文件,其内容可以参考其下的Sample目录下面的配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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命名空间
1 | using Oracle.DataAccess.Client;
|
6. 示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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命名空间
1 | using Devart.Data.Oracle;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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();
}
catch (Exception ex)
{
ShowErrorMessage(ex.Message.ToString());
}
finally
{
conn.Close();
}
|
以上就是C#连接Oracle的实例教程的详细内容!
相关阅读 >>
c#如何使用键值对取代switch...case语句的示例
c#中强制转换与尝试转换的实现方法
.net是什么语言 视频
c#之fastsocket实战项目的示例分享
c#中vb.net给word文档添加/撤销书签的实例
在.net core类库中使用ef core迁移数据库到sql server的方法_实用技巧
关于.net后台定时服务框架的简单介绍
解析.net垃圾回收(gc)原理
c#中关于infinity与nan的简单介绍
c#中string类型与json之间相互转换的实现方法
更多相关阅读请进入《csharp》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » C#连接Oracle的实例教程