這段時間維護客戶的一個系統,該系統使用的是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) ) )