C#連接Oracle數(shù)據(jù)庫(kù)的相關(guān)試用過(guò)程
.NET與SQL Server同屬微軟家族的產(chǎn)品在開(kāi)發(fā)過(guò)程中一般問(wèn)題不大。但近來(lái),項(xiàng)目組要求應(yīng)用程序的數(shù)據(jù)庫(kù)轉(zhuǎn)向Oracle數(shù)據(jù)庫(kù),在試驗(yàn)過(guò)程中遇到了一些莫名其妙的麻煩,雖然問(wèn)題已經(jīng)解決,但我還不知道是什么原因?
下面是我試驗(yàn)C#連接Oracle數(shù)據(jù)庫(kù)過(guò)程的基本介紹:
1、C#連接Oracle數(shù)據(jù)庫(kù)環(huán)境
數(shù)據(jù)庫(kù):Oracle 8.17安裝的是企業(yè)版
開(kāi)發(fā)工具:Visual Studio2003
操作系統(tǒng):Windows 2003
項(xiàng)目采用的是C/S結(jié)構(gòu)
試驗(yàn)是在同一機(jī)器上進(jìn)行的
2、C#連接Oracle數(shù)據(jù)庫(kù)問(wèn)題起因及結(jié)果
1)程序編寫之前Oracle數(shù)據(jù)庫(kù)運(yùn)行正常,通過(guò)客戶端訪問(wèn)工具正常訪問(wèn),服務(wù)也正常。程序代碼采用的是.NET提供專門針對(duì)Oracle數(shù)據(jù)庫(kù)的開(kāi)發(fā)組件:usingSystem.Data.OracleClient,
2)程序調(diào)試運(yùn)行,運(yùn)行到OracleConnection.Open()方法的時(shí)候,就會(huì)彈出“Couldnotcreateanenvironment:OCIEnvCreatereturned-1.”仔細(xì)檢查我的程序和用戶名、密碼以及服務(wù)名,都沒(méi)什么問(wèn)題,但不管怎么樣就是彈出那個(gè)異常信息。***google一下,發(fā)現(xiàn)了這個(gè)問(wèn)題出現(xiàn)的大致原因是說(shuō)我的權(quán)限不夠,需要對(duì)Oracle安裝的主目錄重新設(shè)置一下運(yùn)行權(quán)限,可那個(gè)信息據(jù)說(shuō)都是針對(duì)asp.net的程序,天知道對(duì)于C/S程序怎么出現(xiàn)這個(gè)問(wèn)題。
3)沒(méi)辦法,即然出現(xiàn)這個(gè)問(wèn)題就要想辦法解決,因?yàn)槲业腛racle主目錄是安裝在FAT 32文件類型目錄下面,而不是他們所說(shuō)的NTFS,所以網(wǎng)上提供的解決方法根本就不能進(jìn)行下去,請(qǐng)教其它的人,都說(shuō)c/s程序沒(méi)有出現(xiàn)這個(gè)問(wèn)題,也沒(méi)解決。faint,難道我的操作有問(wèn)題。
4)現(xiàn)在事情即然到了這一步,只要出殺手锏,把Oracle的安裝環(huán)境重新配置。備份Oracle數(shù)據(jù)庫(kù),卸載Oracle,重新在我的系統(tǒng)目錄(NTFS)上面在裝一個(gè)Oracle,安裝完畢,啟動(dòng)監(jiān)聽(tīng)程序和服務(wù),運(yùn)行程序,居然運(yùn)行成功。難道真的與文件類型有關(guān)系?
3、后記
以上就是C#連接Oracle數(shù)據(jù)庫(kù)經(jīng)歷,雖然可以訪問(wèn)Oracle數(shù)據(jù)庫(kù)了,但原因就是沒(méi)搞清,為什么會(huì)出現(xiàn)這個(gè)問(wèn)題?難道真的因?yàn)槲业倪壿嫳P是FAT 32原因?可覺(jué)得沒(méi)道理阿……那位大蝦如果知道原因,希望賜教,希望大家可以討論討論……
【編輯推薦】















 
 
 
 
 
 
 