本文转自:http://www.dotblogs.com.tw/shadow/archive/2011/11/08/54759.aspx
開發環境:本機(Win XP)的ASP.net 4 WebSite,使用System.Data.OracleClient 命名空間下的物件
存取遠端機器的Oracle資料庫,本機網站執行後出現如下圖的錯誤
System.Data.OracleClient 需有 Oracle 用戶端軟體 version 8.1.7 或以上版本。
照著此篇[ DB ] Oracle Instant Client Setting裝了
instantclient-basic-win32、instantclient-sqlplus-win32之後也無效的情況下(sqlplus倒是可以連接成功)
解決辦法只好裝Oracle Client軟體:
先到
Oracle Database Software Downloads(注意要下載和Server上Oracle同樣的版本,這邊就以11gR1為例)
要下載Oracle的東西須先成為該網站的會員
然後Accept License Agreement=>See All
一樣先點Accept License Agreement後再點win32_11gR1_client.zip下載
下載完解壓縮路徑C:\win32_11gR1_client,然後該路徑底下有個子資料夾client,從裡面再執行setup.exe
中間會有error訊息,這邊不用理它,只需要一直等……
等到以下畫面出來,並按「下一步」
因為我已經事先裝好Oracle Sql Developer,所以這裡我就選「自訂」>下一步
都用預設值>下一步
因為我是裝在XP作業系統,這邊的狀態都成功,下一步
全部元件都勾選,因為我已經事先裝好Oracle Sql Developer,所以只有該項不裝
按「安裝」
安裝過程若跳出Windows firewall擋住程式的消息,請記得選「解除封鎖」
如果發生以下錯誤
則選擇「僅停止安裝此元件」>確定
到以上畫面時,安裝程式正在設定網路組態,這裡就靜靜地等吧(建議把其他耗用記憶體的程式都關掉不然要等很久)
Oracle Client安裝完畢,接下來要做連線設定
建立一個服務命名
一般都取orcl
輸入Oracle所在的Server IP和連接埠(這邊使用預設),然後下一步
這邊給服務名稱ORCL或SID其實都可以
在這個畫面可以按「測試」用資料庫登入帳密來測試連線是否成功,因為我測試成功了,所以按完成。
設定完成畫面。
接著關閉視窗,按下「儲存」即完成連線設定
接著看Visual Studio的Web.config檔設定
< connectionStrings > |
< add name = "ConnStr_E" |
connectionString = "Data Source=orcl;Persist Security Info=True;User ID=帳號;Password=密碼;Unicode=True" |
providerName = "System.Data.OracleClient" /> |
</ connectionStrings > |
新增一個Default.aspx程式並在畫面上拉一個SqlDataSource控制項來試試看Oracle Client有沒有安裝成功
接下來就不贅述了,就是下一步下一步選Table
然後用GridView去指定資料來源SqlDataSource1並在本機執行看看有沒有資料出來,有的話便告成功。
以上步驟完成後,如果Oracle Client是裝在Windows Server的話,則還要再針對安裝資料夾加入IIS存取權限並重新啟動電腦
否則仍會發生錯誤:
System.Data.OracleClient 需有 Oracle 用戶端軟體 version 8.1.7 或以上版本。
也有老外針對Oracle 11g的Client安裝教學:
How To Install Oracle 11G Client
2012.2.29追記Oracle的資料庫連線字串:
2012.3.2 追記 在Windows Server 2008 R2 64bit安裝Oracle Client 10g方法
Oracle 安裝在Windwos7失敗。解決方案 適用10204_vista_w2k8_x64_production_client
Windows 7安裝Oracle Client經驗分享 by 黑暗執行緒