C#連接Oracle的方法實(shí)例總結(jié)
本文實(shí)例總結(jié)了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;";
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引用
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公司的驅(qū)動(dòng)
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驅(qū)動(dòng)
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操作系統(tǒng)已經(jīng)安裝了微軟公司的Oracle驅(qū)動(dòng)C:\Program Files\Common Files\System\Ole DB\msdaora.dll
b.該驅(qū)動(dòng)需要Oracle客戶端的三個(gè)文件(oraocixe10.dll、oci.dll、ociw32.dll)放在System32下即可
五、使用ODP連接
1. 下載安裝ODP.NET(http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html)
2. 安裝完全成后會(huì)產(chǎn)生一序列文件。
3. 找到這個(gè)安裝目錄,打開文件夾%ORACLE_HOME%\Network\Admin在這個(gè)下面建立一個(gè)tnsnames.ora的文件,其內(nèi)容可以參考其下的Sample目錄下面的配置
Oracle.RACE =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=127.0.0.1)
(PORT=1521)
)
)
(CONNECT_DATA=
(SID=RACE)
(SERVER=DEDICATED)
)
)
Oracle.RACE為連接字符串名稱,可以隨便取。等號(hào)后面的字符串可以在Enterprise Manager Console工具中連接數(shù)據(jù)庫后的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();
}
六、使用第三方驅(qū)動(dòng)
第三方驅(qū)動(dòng)有 Devart,下載驅(qū)動(dòng) http://www.devart.com/dotconnect/oracle/,但是是商業(yè)版,需要購買許可或破解
連接格式 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();
}
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
- C#連接ORACLE出現(xiàn)亂碼問題的解決方法
- C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的方式
- C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll
- C#連接Oracle數(shù)據(jù)庫的方法
- C#實(shí)現(xiàn)遠(yuǎn)程連接ORACLE數(shù)據(jù)庫的方法
- 深入分析C#連接Oracle數(shù)據(jù)庫的連接字符串詳解
- C#連接Oracle數(shù)據(jù)庫的實(shí)例方法
- C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法
- C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫
相關(guān)文章
C#中的multipart/form-data提交文件和參數(shù)
這篇文章主要介紹了C#中的multipart/form-data提交文件和參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Unity 按鈕事件封裝操作(EventTriggerListener)
這篇文章主要介紹了Unity 按鈕事件封裝操作(EventTriggerListener),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C# 創(chuàng)建文本文件寫入讀取實(shí)現(xiàn)代碼
C# 創(chuàng)建文本文件寫入讀取,可以用來做系統(tǒng)日志或程序操作日志或者錯(cuò)誤記錄,需要的朋友可以參考下。2011-11-11
C#使用Directoryinfo類獲得目錄信息和屬性的方法
這篇文章主要介紹了C#使用Directoryinfo類獲得目錄信息和屬性的方法,涉及C#操作目錄的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
在C#語言里對(duì)NULL的技術(shù)處理小結(jié)
在 C# 中處理 null 值是編寫可靠且可靠的代碼的一個(gè)重要方面,在本文中,我將討論一些在 C# 中處理 null 值的最常用技術(shù),感興趣的朋友跟隨小編一起看看吧2024-05-05
c#基礎(chǔ)知識(shí)---委托,匿名函數(shù),lambda
這篇文章主要介紹了c# 委托,匿名函數(shù),lambda的相關(guān)知識(shí),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06

