C#不安裝Oracle客戶端連線Oracle資料庫
方法如下:(環境:Vs2003+Oracle10g)
1、把instantclient-basic-win32-10.2.0.4.zip中的檔案解壓到指定位置(我本機是解壓到D:/fox,並命名為:instantclient)
其內面應該包括:BASIC_README、oci.dll、ocijdbc10.dll、ociw32.dll、orannzsbb10.dll、oraocci10.dll、oraociei10.dll、classes12.jar、ojdbc14.jar九個檔案.
(注:下載地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html;需註冊使用者,我下載的是:instantclient-basic-win32-10.2.0.4.zip)
2、新增tnsnames.ora檔案(新增到D:/fox/instantclient檔案中):
檔案tnsnames.ora其內容:
# tnsnames.ora Network Configuration File: D:/fox/instantclient/tnsnames.ora /*這是此檔案地址*/
# Generated by Oracle configuration tools.
ORCL1 =/*這是本機聯絡Oracle伺服器的服務名稱,程式碼中用到*/
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 伺服器地址IP 或伺服器名稱)(PORT = 伺服器埠號,預設為“1521“))
)
(CONNECT_DATA =
(SERVICE_NAME = 伺服器資料庫服務的名字,預設為:”orcl“)
)
)
3、添加註冊表內容:(其內容如下,涉及到的檔案位置的根據自己需要改)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment]
"LD_LIBRARY_PATH"="D://fox//instantclient"
"TNS_ADMIN"="D://fox//instantclient"
"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"
4、新增環境變數
右鍵單擊“我的電腦”-->“屬性”-->“高階”-->“環境變數”-->“系統變數”-->選中“Path”-->“編輯”-->在“變數值”原來的資料後新增";D:/fox/instantclient"
5、重啟計算機(經測試,按此順序應該是不必重啟的)。
6、查詢Oracle資料庫部分程式碼:
當然此程式碼的執行的基礎:在此開發專案中——>新增引用——>.NET選項卡,選取System.Data.OracleClient.dll。
並在此cs開頭新增:using System.Data.OracleClient;//引用Oracle連線類
private void button8_Click(object sender, System.EventArgs e)
{
try
{
OracleConnection cnn=new OracleConnection("Data Source=orcl1;User ID=方案名;Password=密碼");
cnn.Open();
OracleDataAdapter myDa =new OracleDataAdapter();
myDa.SelectCommand = new OracleCommand("select * from /"表名/"",cnn); //查詢時,表名用雙引號括起來
DataSet myDs =new DataSet();
myDa.Fill(myDs);
this.textBox1.Text=myDs.Tables[0].Rows[0][0].ToString();//得到查詢表的第一行第一列
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
以上就是我的不裝Oracle客戶端連Oracle資料庫的辦法。