
- 類(lèi)型:編程控件大。6.9M語(yǔ)言:英文 評(píng)分:5.7
- 標(biāo)簽:
Oracle 數(shù)據(jù)訪問(wèn)組件 (ODAC) 全稱(chēng):Oracle Data Access Components
背景:
最近項(xiàng)目里面有用到 WCF+Entity Framework+oracle 這個(gè)架構(gòu)
用過(guò)的朋友應(yīng)該都知道,Entity Framework要通過(guò)ODAC的方式來(lái)連接Oracle,
于是從oracle下載了一個(gè)ODAC64bit版本,結(jié)果VS2010怎么都無(wú)法調(diào)用到ODAC這玩意,
于是暫時(shí)遠(yuǎn)端到服務(wù)器上來(lái)開(kāi)發(fā)項(xiàng)目,當(dāng)時(shí)被這個(gè)問(wèn)題郁悶了好久……
項(xiàng)目結(jié)束后,公司要求切換服務(wù)器,于是就需要在新的服務(wù)器(Window server2008)上搭建環(huán)境,
結(jié)果又悲催的卡在的ODAC的問(wèn)題上,這次再也沒(méi)有其它替代解決方案了,后來(lái)跟一個(gè)資深同事(以前成功安裝過(guò)ODAC)
一起花了兩天時(shí)間來(lái)研究這個(gè),把舊服務(wù)器上的配置環(huán)境全部在新的服務(wù)器上搭建起來(lái),并一個(gè)一個(gè)對(duì)比
新舊服務(wù)器上ODAC相關(guān)配置差異,后來(lái)終于發(fā)現(xiàn)舊服務(wù)器(Window server2008)上ODAC居然
是32bit的,我擦,終于找到原因了,64bit系統(tǒng)安裝32bit版本ODAC后VS2010上的Entity Framework才能通過(guò)ODAC正常抓取oracle中的數(shù)據(jù),
真不知道是VS2010坑爹還是Oracle的ODAC坑爹……
最后強(qiáng)調(diào):
64bit系統(tǒng)安裝ODAC一定要安裝32bit版本(即oracle 11g Client 為32bit的),否則會(huì)出現(xiàn)ODAC無(wú)法使用狀況。
windows7 64位 oracle 64位 odac 64位 如何連接!
在如題的環(huán)境中,要怎么配置才能連接上oracle的庫(kù)?現(xiàn)在的情況是open連接的時(shí)候,就停著不動(dòng)了。謝謝
------解決方案--------------------
配置服務(wù)器tnsnames,使用SQLPLUS測(cè)試連接。
1. ODAC的安裝
服務(wù)器端:0racle10g,11g 都行
客戶端:oracle11g,我下載的是ODAC 11.2 Release 4 and Oracle Developer Tools for Visual Studio (11.2.0.3.0),oracle10g可以安裝,但是里面缺少自定義類(lèi)型的對(duì)應(yīng)對(duì)象,且只支持vs2003和vs2005,所以我選擇用的是oracle11g的版本ODAC 11.2 Release 4 and Oracle Developer Tools for Visual Studio (11.2.0.3.0)
2. 環(huán)境變量的設(shè)置
(1)新建ORACLE_HOME:ODAC的安裝目錄(類(lèi)似~app\Administrator\product\ .1.0\client_1,我這里的安裝目錄是E:\app\ljp\product\11.2.0\client_2)
(2)新建LD_LIBRARY_PATH :%ORACLE_HOME%
(3)新建TNS_ADMIN : %ORACLE_HOME%(這里是監(jiān)聽(tīng)設(shè)置,應(yīng)該是tnsnames.ora的目錄,我設(shè)置的是E:\oracle\product\10.1.0\db_1\NETWORK\ADMIN,當(dāng)然也可以將配置好的tnsnames.ora文件拷貝到%ORACLE_HOME%目錄下)
(4)在PATH的最前面追加:%ORACLE_HOME%
3.vs2008中建立與oracle的連接
在vs的菜單欄中點(diǎn)擊視圖—>服務(wù)器資源管理器,在服務(wù)器資源管理器面板中選擇數(shù)據(jù)連接,右鍵添加連接
點(diǎn)擊數(shù)據(jù)源的更改按鈕,在彈出的更改數(shù)據(jù)源框中選擇Oracle數(shù)據(jù)庫(kù),數(shù)據(jù)提供程序,選擇Oracle Date Provider for.NET,如圖所示:
在數(shù)據(jù)源名稱(chēng)的下拉列表框中選擇數(shù)據(jù)源名稱(chēng),這個(gè)的名稱(chēng)都是在tnsnames.ora配置好的,輸入用戶名密碼,點(diǎn)擊確定即可建立vs與oracle的連接
最后可以使用這里的工具對(duì)oracle數(shù)據(jù)庫(kù)進(jìn)行操作