連接oracle數據庫的方式

一、在配置文件中,存放oracle連接字符串

1.連接字符串:

"data source=127.0.0.1/TEST;user id=xxx;password=xxx;provider='OraOLEDB.Oracle'"

2.provider[提供商],有兩種:'OraOLEDB.Oracle' 爲oracle公司提供,'msdaora'爲微軟公司提供。

 

二、連接方式

1. NET 4.0之前,可採用System.Data.OracleClient類庫中的訪問數據庫的方式

   string connectionString = "data source=127.0.0.1/TEST;user id=xxx;password=xxx";
            OracleConnection conn = new OracleConnection(connectionString);
            conn.Open();
            OracleDataAdapter oda = new OracleDataAdapter("SELECT * FROM USER", conn);
            DataTable dtDataSource = new DataTable();
            oda.Fill(dtDataSource);

2. NET4.0以後,微軟終止了System.Data.OracleClient,可採用System.Data.OleDb類庫中的相應方式【也可採用OracleClient,在添加dll引用時要將目標框架設置爲.net4.0】

  如果採用System.Data.OleDb方式,則需要連接字符串中寫出提供商provider='OraOLEDB.Oracle'

3.  如果客戶端是 AMERICAN_AMERICA.ZHS16GBK編碼

服務器是西文編碼,則採用oledb方式連接數據庫,連接串中加入provider='MSDAORA.1',這樣查詢出來的數據不會出現亂碼【使用oledb連接數據庫連接串中必須寫provider】

4. 含blob字段,採用OracleClient方式,無需寫provider;如果用oledb方式,則提供商採用'OraOLEDB.Oracle' ,否則blob字段獲取會有異常

Clob、blob都可以用來存儲文件的比特流,也可以存儲超過4000的字符串

存儲時該字段用oracle參數來存儲,取出時,與其他類型字段一樣。只是取出來之後轉換成存儲的類型

5. 如果客戶端、服務器都是AMERICAN_AMERICA.ZHS16GBK編碼則有兩種方式:

1.oledb方式,連接串中加入provider='OraOLEDB.Oracle'

2.oracleClient方式連接數據庫,連接串中不添加provider

 

三、如果是win7系統,可能存在以下問題:

1.正確書寫連接方式後,扔無法正常連接,手動打開數據庫之後不報錯。這很可能是權限設置問題。設置爲管理員身份運行即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章