วันนี้ เมื่อฉันติดตั้งฐานข้อมูล Oracle9i บนเครื่องนี้ผ่าน ASP บนเซิร์ฟเวอร์ WIN2K SERVER ฉันพบข้อผิดพลาดและไม่สามารถเชื่อมต่อกับฐานข้อมูลได้เลย คำอธิบายข้อผิดพลาดมีดังนี้:
ข้อผิดพลาด Microsoft OLE DB Provider สำหรับไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Driver Manager] SQLAllocHandle ของไดรเวอร์บน SQL_HANDLE_ENV ล้มเหลว
หรือ
ผู้ให้บริการ Microsoft OLE DB สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
เนื่องจากข้อผิดพลาดของระบบ 5 (Oracle ใน jxt_user) ไม่สามารถโหลดไดรเวอร์ที่ระบุได้
โหมดการเชื่อมต่อคือผ่าน ODBC ไดรเวอร์ประกอบด้วยไดรเวอร์ Oracle ODBC และไดรเวอร์ Microsoft ODBC สำหรับ Oracle
สตริงการเชื่อมต่อมีดังนี้:
(1) CONNECTIONSTRING ="DSN=TXLTNS;UID=ผู้ใช้;PWD=รหัสผ่าน"
(2) CONNECTIONSTRING ="DRIVER={Oracle in txl_user};UID=user;PWD=password;DBQ=TXLTNS;DBA=W;"
ด้วยเหตุนี้จึงไม่สามารถทำงานได้ตามปกติ หลังจากตรวจสอบแล้ว พบว่าการตั้งค่า %ORACLE_HOME% ถูกต้องและรวมอยู่ใน PATH
เมื่อค้นหาข้อมูลเป็นภาษาจีนตัวย่อบน GOOGLE ฉันพบข้อมูลที่มีข้อความดังต่อไปนี้:
"นี่เป็นข้อผิดพลาดที่เกิดจากการติดตั้ง Oracle9i บนพาร์ติชัน NTFS ปี 2000 สาเหตุหลักคือ IIS มีสิทธิ์ไม่เพียงพอและไม่พบไฟล์ Oracle9i"
และเขายังให้บทคัดย่อภาษาอังกฤษมากมาย คำตอบสำหรับคำถามคือ: เมื่อติดตั้งไดเร็กทอรี %ORACLE_HOME% การอนุญาตจะถูกตั้งค่าแยกกัน ค่าเริ่มต้นคือกลุ่มผู้ดูแลระบบ กลุ่มระบบ และกลุ่มชื่อ "ผู้ใช้ที่ได้รับการรับรองความถูกต้อง" กลุ่มมีสิทธิ์ เขายังกล่าวอีกว่า:
-
v. คลิกที่รายการ "Authenticated Users" ในรายการ "Name" (ใน Windows XP รายการ "Name" เรียกว่า "ชื่อกลุ่มหรือชื่อผู้ใช้")
vi. ยกเลิกการเลือกช่อง "อ่านและดำเนินการ" ในรายการ "สิทธิ์" (ใน Windows XP รายการ "สิทธิ์" เรียกว่า "สิทธิ์สำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้อง") กล่องนี้จะอยู่ใต้คอลัมน์ "อนุญาต"
vii. ทำเครื่องหมายที่ช่อง "Read and Execute" นี่คือช่องที่คุณเพิ่งยกเลิกการเลือก
-------------------------------------------------
ฉันรู้สึกว่าภาษาอังกฤษนี้ คำสั่งค่อนข้างแปลก ทำไมคุณถึงต้องการยกเลิกสิทธิ์ "อ่านและดำเนินการ" ของกลุ่มผู้ใช้ที่ได้รับการรับรองความถูกต้อง มันไม่ได้หมายความว่าสิทธิ์นั้นไม่เพียงพอ
ค้นหาข้อมูลที่เกี่ยวข้องบนเครือข่ายเทคโนโลยี ORACLE ต่อไป และค้นหาข้อมูลนี้:
-
เป็นที่ทราบกันว่าไดรเวอร์ Microsoft ODBC สำหรับ Oracle ทำงานไม่ถูกต้องบนไคลเอนต์ Oracle 9.2 คุณต้องใช้ไดรเวอร์ Oracle ODBC หากคุณใช้ไคลเอนต์ 9.2
------------------------------------------------
ดูเหมือนว่า ว่าสิ่งนี้ผิด เกิดขึ้นโดยไม่คำนึงถึงการกำหนดค่าการติดตั้งของ ORACLE เนื่องจากการทดสอบการใช้ JAVA เพื่อเชื่อมต่อกับ ORACLE ผ่าน JDBC ก่อนหน้านี้ประสบความสำเร็จ
ดังนั้นฉันจึงดาวน์โหลด MDAC2.8 ล่าสุด และหลังการติดตั้ง ให้รีสตาร์ทคอมพิวเตอร์ จากนั้นทดสอบโปรแกรม ASP ดั้งเดิม และพบว่าสามารถเชื่อมต่อกับฐานข้อมูล ORACLE ได้สำเร็จ
ปัญหา "สิทธิ์" ที่ผู้อื่นกล่าวถึงก่อนหน้านี้ดูเหมือนจะใช้ไม่ได้ที่นี่ อิอิ
ที่แนบมา:
ดาวน์โหลดที่อยู่ของ MDAC2.8: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c