.net連接ORACLE數據庫

     這段時間維護客戶的一個系統,該系統使用的是ORACLE數據庫,之前開發的時候用的都是MSSQL,並沒有使用過ORACLE。這兩種數據庫雖然都是關係型數據庫,但是具體的操作大有不同,這裏作下記錄。

連接字符串:
<add name="ConnectionString"  connectionString="Password=qswd2015;User ID=qswd;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.22)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)))" providerName="System.Data.OracleClient"/>
name: 程序中獲取的時候就是依據這個來獲取web.config中的連接字符串。

Password:ORACLE數據庫用戶的密碼。
User ID:ORACLE數據庫用戶的帳號。
PROTOCOL=TCP:連接方式,一般不用修改,TCP。
HOST=192.168.1.22:ORACLE服務器的IP地址,主機名也可以,如果你的web服務器和ORACLE數據庫都在本地的話,也可以使用.或者127.0.0.1。
PORT=1521:ORACLE數據庫默認端口號。
SERVICE_NAME=ORCL 數據庫服務名(不懂是不是這個意思),你要連接的數據庫名。
程序中獲取字符串:
public static string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

  以上是連接字符串以及獲取連接字符串的方式,接下來介紹下遇到的幾個坑:

  1.首先下載ORACLE客戶端工具,這點是必須的,連接ORACLE數據做開發的話必須要安裝客戶端;

  2.最好安裝一個ORACLE數據庫工具,比如PLSQL,測試連接情況,查詢數據;

  3.測試連接沒有問題,程序連接提示服務名或者連接問題之類的情況,請檢查連接字符串是否寫對了;

  4.如果你安裝的是64位的系統,並且安裝vs的時候選擇的是默認安裝,vs的安裝目錄會選擇Program Files (x86) 這樣的安裝路徑對於ORACLE來說是有問題的,因爲)的存在,連接ORACLE的時候會提示“連接未打開”。(很坑爹的設定)

  5.如果遇到了4中的情況,可以選擇重裝VS或者按照http://www.cnblogs.com/xiaojinhe2/archive/2013/09/13/3318718.html 中的解決辦法。

  最後附帶上tnsnames.ora中的設置,PLSQL會使用到。

## 配置說明:
# --XIEHENG_192.168.16.20指的是網絡服務名,可用SID_HOST來命名(按個人習慣)
# --HOST指Oracle服務器的機器名或IP
# --PORT指端口,默認爲1521
# --XIEHENG指的是Oracle的SID
# --SERVER = DEDICATED  不用改

# 請參照以下連接的例子

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

  

 

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