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