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