明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

處理使用ASP無法連接ORACLE 9i數(shù)據(jù)庫的問題

[摘要]今天,在一臺WIN2K SERVER 服務(wù)器上,通過ASP安裝在本機的 Oracle9i 數(shù)據(jù)庫時,發(fā)現(xiàn)錯誤,根本無法連接上數(shù)據(jù)庫。其錯誤描述如下:Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' [Microsof...

今天,在一臺WIN2K SERVER 服務(wù)器上,通過ASP安裝在本機的 Oracle9i 數(shù)據(jù)庫時,發(fā)現(xiàn)錯誤,根本無法連接上數(shù)據(jù)庫。其錯誤描述如下:

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' 
[Microsoft][ODBC 驅(qū)動程序 管理器] 驅(qū)動程序的 SQLAllocHandle on SQL_HANDLE_ENV 失敗
 

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' 
由于系統(tǒng)錯誤 5 (Oracle in jxt_user),導(dǎo)致不能加載指定驅(qū)動程序

連接方式是通過ODBC,驅(qū)動程序包括 Oracle ODBC Driver 和 Microsoft ODBC Driver for Oracle 。
連接字串如下:
(1)CONNECTIONSTRING ="DSN=TXLTNS;UID=user;PWD=password"
(2)CONNECTIONSTRING ="DRIVER={Oracle in txl_user};UID=user;PWD=password;DBQ=TXLTNS;DBA=W;"

結(jié)果,都是無法正常運作。經(jīng)檢查發(fā)現(xiàn) %ORACLE_HOME% 設(shè)置是正確的,也包含到PATH中了。


在 GOOGLE 搜索簡體中文的信息,發(fā)現(xiàn)一個信息說法如下:
“這個其實是由于Oracle9i裝在2000的NTFS分區(qū)上產(chǎn)生的錯誤。主要是IIS的權(quán)限不足,找不到Oracle9i的文件導(dǎo)致的錯誤!
而且他還給出了一堆英文文摘,答題的意思是:%ORACLE_HOME%這個目錄在安裝的時候,是單獨設(shè)置了權(quán)限的,默認(rèn)是管理員組、SYSTEM組和一個名為“Authenticated Users”的組具有權(quán)限。他還說要這樣:
------------------------------------------
v. Click on "Authenticated Users" item in the "Name" list (on Windows XP the "Name" list is called "Group or user names").
vi. Uncheck the "Read and Execute" box in the "Permissions" list (on Windows XP the "Permissions" list is called "Permissions for Authenticated Users"). This box will be under the "Allow" column.
vii. Check the "Read and Execute" box. This is the box you just unchecked.
------------------------------------------

感覺這段英文的說法有點怪,為什么要取消Authenticated Users組的“讀取和執(zhí)行”權(quán)限呢,不是說權(quán)限不夠嗎?

繼續(xù)在ORACLE 技術(shù)網(wǎng)查詢相關(guān)信息,發(fā)現(xiàn)這個信息:
-------------------------------------------
The Microsoft ODBC driver for Oracle is known not to work correctly on a 9.2 Oracle client. You need to use the Oracle ODBC driver if you're using the 9.2 client.
-------------------------------------------

這樣看來,這個錯誤的發(fā)生,與ORACLE的安裝配置無關(guān)。因為之前測試過使用JAVA通過 JDBC 連接ORACLE是成功的。

于是下載最新的 MDAC2.8 ,安裝完后,重新啟動計算機,再測試原來的ASP程序,發(fā)現(xiàn)已經(jīng)成功連接到ORACLE數(shù)據(jù)庫。

前面別人說的“權(quán)限”問題,看來在這里并不適應(yīng)。呵呵。

附:
MDAC2.8 的下載地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c