วันนี้ ฉันช่วยลูกค้ากำหนดค่าเซิร์ฟเวอร์ และหลังจากทดสอบโปรแกรม ฉันพบว่าโปรแกรม asp แจ้งข้อผิดพลาดอ็อบเจ็กต์เซิร์ฟเวอร์ ASP 0178: 80070005 หลังจากการทดสอบ สาเหตุมาจากปัญหาการอนุญาต โดยเฉพาะอย่างยิ่งสำหรับส่วนประกอบที่เพิ่งติดตั้ง จะต้องตั้งค่าการอนุญาตด้วยตนเอง เนื่องจากเหตุผลด้านความปลอดภัย การอนุญาตจึงต่ำมาก คุณสามารถอ้างอิงวิธีการต่อไปนี้เพื่อตั้งค่า
ข้อความแสดงข้อผิดพลาด:
ข้อผิดพลาดของวัตถุเซิร์ฟเวอร์ 'ASP 0178: 80070005'
ข้อผิดพลาดในการเข้าถึง Server.CreateObject
../asp.asp บรรทัด 123
การเรียกไปยัง Server.CreateObject ล้มเหลวขณะตรวจสอบสิทธิ์ การเข้าถึงวัตถุนี้ถูกปฏิเสธ
เมื่อข้อผิดพลาดปรากฏขึ้น มีสิทธิ์อยู่
สารละลาย:
1. มีข้อผิดพลาดเกิดขึ้นเมื่อเรียก server.createObject(mssearch.application) วิธีแก้ไขจะเป็นดังนี้:
เริ่ม -> รัน -> dcomcnfg
ค้นหา mssearch (ชื่อขึ้นอยู่กับ Object ที่คุณเรียกใช้) จากนั้นคลิกขวา -> คุณสมบัติ -> ความปลอดภัย และให้สิทธิ์ทั้งสามแก่ทุกคน อันที่จริงอันแรกก็เพียงพอแล้ว
2. เมื่อปัญหาข้างต้นเกิดขึ้น สาเหตุคือปัญหาการอนุญาตอย่างแน่นอน
วิธีแก้ปัญหาหนึ่งคือการปรับเปลี่ยนสิทธิ์การเข้าถึงแบบไม่ระบุชื่อของ IIS
วิธีที่สองและง่ายที่สุดคือการลงทะเบียนส่วนประกอบของคุณที่อื่น โดยเฉพาะอย่างยิ่ง อย่าลงทะเบียนในไดเร็กทอรีพิเศษบนเดสก์ท็อปหรือไดรฟ์ C (ไดรฟ์ระบบ) ให้วางไว้บนไดรฟ์เช่น D, E เป็นต้น เหตุผลก็คือโดยปกติแล้วบัญชีที่คุณใช้สำหรับ IIS จะเป็นบัญชีที่มีสิทธิ์ของระบบต่ำกว่า หากคุณเข้าสู่ระบบด้วยบัญชีของคุณเอง สิทธิ์การเข้าถึงเดสก์ท็อปอาจสูงกว่าสิทธิ์ของบัญชี IIS
3. หลังจากตรวจสอบฐานข้อมูล MS แล้ว วิธีแก้ไขจะเป็นดังนี้จาก aspxuexi.com asp Learning Network:
บทความนี้เคยเผยแพร่ภายใต้ Q315454
อาการ
เมื่อคุณพยายามที่จะเรียกดูหน้าผลลัพธ์ของฐานข้อมูล Active Server Page (ASP) ที่สร้างขึ้นใน Microsoft FrontPage คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับข้อความต่อไปนี้:
รหัสโปรแกรม:
ข้อผิดพลาดของวัตถุเซิร์ฟเวอร์ 'ASP 0178: 80070005'
ข้อผิดพลาดการเข้าถึง Server.CreateObject
../config/coon.asp บรรทัด 5
การเรียกไปยัง Server.CreateObject ล้มเหลวขณะตรวจสอบสิทธิ์การเข้าถึงถูกปฏิเสธไปยังวัตถุนี้
สาเหตุ
ลักษณะการทำงานนี้อาจเกิดขึ้นได้หากมีการกำหนดสิทธิ์ NTFS ที่ไม่ถูกต้องสำหรับโฟลเดอร์ %ProgramFiles%/Common Files/System ของคุณ
ปณิธาน
เมื่อต้องการแก้ไขปัญหาของคุณ ให้รีเซ็ตสิทธิ์ NTFS บนโฟลเดอร์ %ProgramFiles%/Common Files/System โดยทำตามขั้นตอนต่อไปนี้:
1.. เปิด Windows Explorer โดยคลิกขวาที่ Start แล้วคลิก Explore บนเมนูทางลัด
2.. ในมุมมองโฟลเดอร์ ให้ขยายโฟลเดอร์ %ProgramFiles%/Common Files/System
3.. คลิกขวาที่โฟลเดอร์แล้วคลิก Properties บนเมนูทางลัด
4.. คลิกแท็บความปลอดภัย
5.. เพิ่มทุกคนในการอนุญาตที่มีอยู่ ให้สิทธิ์ในการอ่านแก่ทุกคนเป็นอย่างน้อย และใช้การตั้งค่าใหม่เหล่านี้กับไฟล์และโฟลเดอร์ย่อยทั้งหมด
6.. คลิกตกลง
-------------------------------------------------- -------------------------------------------------- ----------------------------------
หากทำการดีบักในเครื่อง:
เมื่อต้องการแก้ไขปัญหา ให้รีเซ็ตสิทธิ์ NTFS บนโฟลเดอร์ %ProgramFiles%/Common Files/System โดยทำตามขั้นตอนเหล่านี้:
1. เปิด Windows Explorer
คลิกขวาที่เริ่มแล้วคลิกเรียกดูบนเมนูทางลัด
2. ในมุมมองโฟลเดอร์ ให้ขยายโฟลเดอร์ %ProgramFiles%/Common Files/System
3. คลิกขวาที่โฟลเดอร์แล้วคลิก Properties บนเมนูทางลัด
4. คลิกแท็บความปลอดภัย
5. ให้สิทธิ์ที่มีอยู่แก่ทุกคนเป็นอย่างน้อย เพิ่มสิทธิ์ในการอ่านให้กับทุกคน และใช้การตั้งค่าใหม่เหล่านี้กับไฟล์และคำบรรยายทั้งหมด
6. คลิกตกลง
-------------------------------------------------- -------------------------------------------------- ----------------------------------
หากเป็นเซิร์ฟเวอร์ ให้สิทธิ์ทุกคนใน dll ที่เกี่ยวข้อง