首页数据库c#连接oracle数据库(C#如何连接Oracle数据库)

c#连接oracle数据库(C#如何连接Oracle数据库)

编程之家2023-10-22242次浏览

大家好,今天来为大家分享c#连接oracle数据库的一些知识点,和C#如何连接Oracle数据库的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

c#连接oracle数据库(C#如何连接Oracle数据库)

C#连接Oracle的几种方式

一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora) 1.添加命名空间System.Data.OracleClient引用 2. using System.Data.OracleClient; 3. string connString= User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;; OracleConnecti

一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)

1.添加命名空间System.Data.OracleClient引用

c#连接oracle数据库(C#如何连接Oracle数据库)

2. using System.Data.OracleClient;

3.

string connString="User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;";

OracleConnection conn= new OracleConnection(connString);

try

{

c#连接oracle数据库(C#如何连接Oracle数据库)

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引用

2. using System.Data.OracleClient;

3.

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引用

2. using System.Data.OleDb;

3.

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引用

2. using System.Data.OleDb;

3.

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(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为连接字符串名称,可以随便取。等号后面的字符串可以在Enterprise Manager Console工具中连接数据库后的TNS描述符中拷过来

4.引用Oracle.DataAccess命名空间

5. 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,下载驱动 http://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命名空间

2. using Devart.Data.Oracle;

3.

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数据库

数据源是从Oracle的安装目录下tnsnames.ora文件中去找的。而并非是在系统的“管理工具”下的“数据源(ODBC)”中找。这个tnsnames.ora文件是在

Oracle的安装目下的“client_1/network/admin/”下

Oracle连接字符串和 Oracle名称解析是不可分的。假定我们在 tnsnames.ora文件中定义了一个数据库别名 OraDb,如下:

OraDb=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521))

)

(CONNECT_DATA=

(SERVER=DEDICATED)

(SERVICE_NAME=ORCL)

)

)

OraDb别名定义客户端的数据库地址连接信息。要使用上面所述的在 tnsnames.ora文件中定义的 OraDb别名,您需要使用以下语法:

string oradb="Data Source=OraDb;User Id=scott;Password=tiger;";// C#

==============================================

如果您想看到代码时一目了然,但是不嫌复杂的话,您可以修改连接字符串,这样就不需用 tnsnames.ora文件。只需用在 tnsnames.ora文件中定义别名的语句替换别名即可。

// C#

string oradb="Data Source=(DESCRIPTION="

+"(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ORASRVR)(PORT=1521)))"

+"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));"

+"User Id=scott;Password=tiger;";

然后创建对应的连接对象就行了

OracleConnection conn= new OracleConnection(oradb);

.Net连接Oracle数据库到底怎么配置

C#连接Oracle数据库(查询数据)

using System;

using System.Collections.Generic;

using System.ComponentModel;

//这行和下一行都要先在引用中填加system.data.oracleclient

using System.Data.OracleClient;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

#region从region到endregion是手工写的。别的都是系统自动生成的

//定义连接数据库的字符串

string constring="data source=wzd;user=wzd;password=wzd;";

//进行连接

OracleConnection conn= new OracleConnection(constring);

try

{

conn.Open();//打开指定的连接

OracleCommand com= conn.CreateCommand();

//写好想执行的Sql语句

com.CommandText=

"select name from mytable where card_no='0000000002'";

OracleDataReader odr= com.ExecuteReader();

//读取数据,如果返回为false的话,就说明到记录集的尾部了

while(odr.Read())

{

//将读取到的值显示到定义的控件中。

this.lbl.Text= odr.GetOracleString(0).ToString();

}

odr.Close();//关闭reader.这是一定要写的

}

catch

{

MessageBox.Show("erro");//如果发生异常,则提示出错

}

finally

{

conn.Close();//关闭打开的连接

}

#endregion

}

}

}

C#中与Oracle连接的代码

注意:一定要添加这个:

项目->添加引用->.NET->System.Data.OracleClient.dll

using System;

using System.Data;

using System.Windows.Forms;

using System.Data.OracleClient;

namespace Test

{

///<summary>

///简洁期间,直接将实现写在构造函数中

///</summary>

public class Test

{

public Test()

{

//

// TODO:在此处添加构造函数逻辑

//

string ConnectionString=

"Data Source=LiPu; User Id=SCOTT; Password=scott";

//连接字符串,Data Source是指数据库名字.如我用的是本机的Oracle

//的数据库,名字为LiPu. user id是

//用户名,你可以用System或是你自己添加的一个用户.Password是

//对应用户的密码.

//创建一个新连接

OracleConnection conn= new OracleConnection(ConnectionString);

try

{

conn.Open();//打开连接

OracleCommand cmd= conn.CreateCommand();

cmd.CommandText="select* from emp";//SQL语句

OracleDataReader rs= cmd.ExecuteReader();

//读取数据,如果rs.Read()返回为false的话,就说明到记录集的尾部了

while(rs.Read())

{

MessageBox.Show(rs.GetString(1));

}

rs.Close();

}

catch(Exception e)

{

MessageBox.Show(e.Message);

}

finally

{

conn.Close();

}

}

}

}

C#连接Oracle数据库(更改数据库中的记录并查询更改后的数据)

using System;

using System.Collections.Generic;

//这行和下一行都要先在引用中填加system.data.oracleclient

using System.ComponentModel;

using System.Data.OracleClient;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

#region从region到endregion是手工写的。别的都是系统自动生成的

//定义连接数据库的字符串

string constring="data source=wzd;user=wzd;password=wzd;";

//进行连接

OracleConnection conn= new OracleConnection(constring);

try

{

conn.Open();//打开指定的连接

OracleCommand com= conn.CreateCommand();

com.CommandText=

"select name from fin_ipr_inmaininfo where card_no="+

"'0000000002'";//写好想执行的Sql语句

OracleDataReader odr= com.ExecuteReader();

//读取数据,如果返回为false的话,就说明到记录集的尾部了

while(odr.Read())

{

//将读取到的值显示到定义的控件中。

this.lbl.Text= odr.GetOracleString(0).ToString();

}

odr.Close();//关闭reader.这是一定要写的

}

catch

{

MessageBox.Show("erro");//如果发生异常,则提示出错

}

finally

{

conn.Close();//关闭打开的连接

}

#endregion

}

private void button2_Click(object sender, EventArgs e)

{

#region从region到endregion是手工写的。别的都是系统自动生成的

//定义连接数据库的字符串

string constring="data source=wzd;user=wzd;password=wzd;";

//进行连接

OracleConnection conn= new OracleConnection(constring);

try

{

conn.Open();//打开指定的连接

OracleCommand com= conn.CreateCommand();

//写好想执行的Sql语句

com.CommandText=

"update fin_ipr_inmaininfo set name='wzd' where card_no='0000000002'";

com.ExecuteNonQuery();

}

catch

{

MessageBox.Show("erro");//如果发生异常,则提示出错

}

finally

{

conn.Close();//关闭打开的连接

}

#endregion

}

}

}

c#连接oracle数据库和C#如何连接Oracle数据库的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

工业串口服务器 工业级串口服务器和交换机有什么不同有什么区别idc服务器托管?IDC机房托管是什么