由于項(xiàng)目需要,得使用Oracle數(shù)據(jù)庫(kù),版本為10G,平臺(tái)是.NET。之前部署了一個(gè)在win2003下的虛擬機(jī)平臺(tái),能正常使用。
最近弄了個(gè)ESXI6.0的虛擬機(jī),在上面安裝了另外的一套win2003,準(zhǔn)備把產(chǎn)品部署在上面。
Oralce安裝好了,連接時(shí)就又來坑了。。搞了大半天。才搞好,現(xiàn)在記錄一下。
最開始時(shí)使用netstat -an查看,1521端口沒有在監(jiān)聽。在“服務(wù)”管理器里,看到****TNSListener服務(wù)也是沒有啟動(dòng),右鍵啟動(dòng)時(shí),提示“***啟動(dòng)后又關(guān)閉***”。
各種百度、BING都看了,不知道什么問題。最后,查了一下環(huán)境變量:ORACLE_HOME,發(fā)現(xiàn)值為:c:/oralce,看了一下其他的配置,應(yīng)該不對(duì),改成了:c:/oracle/PRoduct/10.1.0/Db_1/,然后重啟服務(wù)器,OK了,監(jiān)聽端口了,服務(wù)也提示是“已啟動(dòng)”狀態(tài)。
但是,還是連接不上,提示:"System.Data.OracleClient 需要 Oracle 客戶端軟件 version 8.1.7 或更高版本"。這個(gè)問題在原來配置時(shí)也遇到,是版本不對(duì),找了新版本后就能連接了。但是,這次使用的新版本,還是這樣提示。頭痛。。。。
百度查了,說是權(quán)限問題,按照上面的提示設(shè)置了權(quán)限,還是不行。。。又折騰了兩小時(shí),最后發(fā)現(xiàn),我之前 設(shè)置的權(quán)限是針對(duì)Administrators和aspNET賬戶的。iis6下要給BIN文件夾設(shè)置Network Service組全部權(quán)限,iisreset后就不提示了。
好啦,不提示這個(gè)版本問題了,新問題又來了。。。
提示:"ORA-12514: TNS:listener does not currently know of service requested in connect descriptor"
字面意思是找不到指定的Service。看了一下listener.ora里,沒有我指定的Service.使用lsnrctl status查看,也沒看到指定Service名稱的實(shí)例在運(yùn)行。
好了,就是它了,打開listener.ora,添加:
(SID_DESC =(GLOBAL_DBNAME = oracle)(ORACLE_HOME = /opt/oracle/product/9.2.0.4)(SID_NAME = 服務(wù)名稱))
重啟監(jiān)聽,重啟iis,數(shù)據(jù)庫(kù)正常連接上了。
新聞熱點(diǎn)
疑難解答
圖片精選