C# 連接Oracle(利用ODP.net,不安裝oracle客戶端)
為了方便部署連接oracle的.net程序,oracle官方提供了一個簡化版的client,即instant client。
通過instant client和ODP.net中的Oracle.DataAccess.dll,我們就可以方便的部署.net應用程序或者站點。
1. ODAC的安裝
在oracle的官方網站上下載與你安裝的oracle對應版本的ODAC。
下載地址:ODAC Download
下載好后解壓安裝,安裝時不用安裝全部的組件。主要安裝以下組件:
- Oracle Instant Client
- Oracle Data Provider For .net2.0
- Oracle rovider For Asp .net
2. 環境變量的設置
設置Windows的環境變量:
ORACLE_HOME :ODAC的安裝目錄(類似 ~\app\Administrator\product\11.1.0\client_1)
LD_LIBRARY_PATH :%ORACLE_HOME%
TNS_ADMIN : :%ORACLE_HOME%
在PATH的最前面追加::%ORACLE_HOME%;
3. 監聽文件tnsnames.ora的配置
在目錄%ORACLE_HOME%下新建文件tnsnames.ora,內容如下:
數據庫SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主機名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 數據庫SID)
)
)
4. plsqldev
這樣配置好后,plsqldev就可以連接上oracle數據庫了
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 = new List<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中追加數據庫連接的配置
<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>
還可以參考官方的文檔,不過是英文的,呵呵!
Build a .NET Application on the Oracle Database with Microsoft Visual Studio 2010

浙公網安備 33010602011771號