C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法
更新時間:2012年11月15日 11:40:35 作者:
本文將介紹C#利用ODP.net連接Oracle數(shù)據(jù)庫的操作方法,需要的朋友可以參考下
本文介紹了C#連接Oracle數(shù)據(jù)庫的過程。通過instant client和ODP.net中的Oracle.DataAccess.dll,我們就可以方便的部署.net應用程序或者站點,而不需要安裝Oracle客戶端。接下來我們就介紹這一過程。
1. ODAC的安裝
在oracle的官方網(wǎng)站上下載與你安裝的oracle對應版本的ODAC。
下載地址:ODAC Download
下載好后解壓安裝,安裝時不用安裝全部的組件。主要安裝以下組件:
Oracle Instant Client
Oracle Data Provider For .net2.0
Oracle rovider For Asp .net
2. 環(huán)境變量的設置
設置Windows的環(huán)境變量:
ORACLE_HOME :ODAC的安裝目錄(類似 ~\app\Administrator\product\11.1.0\client_1);
LD_LIBRARY_PATH :%ORACLE_HOME%;
TNS_ADMIN : %ORACLE_HOME%;
在PATH的最前面追加:%ORACLE_HOME%;
3. 監(jiān)聽文件tnsnames.ora的配置
在目錄%ORACLE_HOME%下新建文件tnsnames.ora,內(nèi)容如下:
數(shù)據(jù)庫SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主機名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 數(shù)據(jù)庫SID)
)
)
4. plsqldev
這樣配置好后,plsqldev就可以連接上oracle數(shù)據(jù)庫了。
5. C#連接Oracle
C#連接oracle的示例代碼如下:
OracleConnection conn =
new OracleConnection();
try
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
conn.Open();
string sql = " select id,content from test"; // C#
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader(); // C#
List<string> contents = newList<string>();
while(dr.Read())
{
contents.Add(dr["content"].ToString());
}
listBox1.ItemsSource = contents;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Clone();
}
在程序app.config或者web.config中追加數(shù)據(jù)庫連接的配置。
<connectionStrings >
<add name="oradb"connectionString="Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=****)));
User Id=***;Password=***;"/>
</connectionStrings>
按照上述的步驟執(zhí)行,如果沒有錯誤,就可以成功地連接數(shù)據(jù)庫了。
1. ODAC的安裝
在oracle的官方網(wǎng)站上下載與你安裝的oracle對應版本的ODAC。
下載地址:ODAC Download
下載好后解壓安裝,安裝時不用安裝全部的組件。主要安裝以下組件:
Oracle Instant Client
Oracle Data Provider For .net2.0
Oracle rovider For Asp .net
2. 環(huán)境變量的設置
設置Windows的環(huán)境變量:
ORACLE_HOME :ODAC的安裝目錄(類似 ~\app\Administrator\product\11.1.0\client_1);
LD_LIBRARY_PATH :%ORACLE_HOME%;
TNS_ADMIN : %ORACLE_HOME%;
在PATH的最前面追加:%ORACLE_HOME%;
3. 監(jiān)聽文件tnsnames.ora的配置
在目錄%ORACLE_HOME%下新建文件tnsnames.ora,內(nèi)容如下:
復制代碼 代碼如下:
數(shù)據(jù)庫SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主機名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 數(shù)據(jù)庫SID)
)
)
4. plsqldev
這樣配置好后,plsqldev就可以連接上oracle數(shù)據(jù)庫了。
5. C#連接Oracle
C#連接oracle的示例代碼如下:
復制代碼 代碼如下:
OracleConnection conn =
new OracleConnection();
try
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
conn.Open();
string sql = " select id,content from test"; // C#
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader(); // C#
List<string> contents = newList<string>();
while(dr.Read())
{
contents.Add(dr["content"].ToString());
}
listBox1.ItemsSource = contents;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Clone();
}
在程序app.config或者web.config中追加數(shù)據(jù)庫連接的配置。
復制代碼 代碼如下:
<connectionStrings >
<add name="oradb"connectionString="Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=****)));
User Id=***;Password=***;"/>
</connectionStrings>
按照上述的步驟執(zhí)行,如果沒有錯誤,就可以成功地連接數(shù)據(jù)庫了。
您可能感興趣的文章:
- .net如何優(yōu)雅的使用EFCore實例詳解
- ASP.NET?Core?5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析
- .Net Core中使用EFCore生成反向工程
- ASP.NET Core使用EF保存數(shù)據(jù)、級聯(lián)刪除和事務使用
- ASP.NET?Core使用EF查詢數(shù)據(jù)
- ASP.NET?Core使用EF創(chuàng)建模型(索引、備用鍵、繼承、支持字段)
- ASP.NET?Core使用EF?SQLite對數(shù)據(jù)庫增刪改查
- .net core實用技巧——將EF Core生成的SQL語句顯示在控制臺中
- 詳解.Net Core 權(quán)限驗證與授權(quán)(AuthorizeFilter、ActionFilterAttribute)
- 在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法
- .net連接oracle的3種實現(xiàn)方法
- .Net使用EF Core框架連接Oracle的方法
相關(guān)文章
oracle分區(qū)表之hash分區(qū)表的使用及擴展
Hash分區(qū)是Oracle實現(xiàn)表分區(qū)的三種基本分區(qū)方式之一。對于那些無法有效劃分分區(qū)范圍的大表,或者出于某些特殊考慮的設計,需要使用Hash分區(qū),下面介紹使用方法2014-01-01
Oracle數(shù)據(jù)庫concat()函數(shù)用法及使用簡化的‘||’進行拼接
CONCAT()函數(shù)在Oracle中可以用于將兩個字符串連接在一起,那么CONCAT()函數(shù)的語法及使用方法是什么呢,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫concat()函數(shù)用法及使用簡化的‘||’進行拼接的相關(guān)資料,需要的朋友可以參考下2024-03-03
Oracle數(shù)據(jù)庫存儲過程的調(diào)試過程
oracle如果存儲過程比較復雜,我們要定位到錯誤就比較困難,那么我們就可以用存儲過程的調(diào)試功能,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫存儲過程調(diào)試的相關(guān)資料,需要的朋友可以參考下2022-07-07
oracle臨時表空間的作用與創(chuàng)建及相關(guān)操作詳解
Oracle可能會需要使用到一些臨時存儲空間,用于臨時保存解析過的查詢語句以及在排序過程中產(chǎn)生的臨時數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于oracle臨時表空間的作用與創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下2022-07-07

