ในกระบวนการเขียนเว็บแอปพลิเคชันเรามักจะต้องจัดการกับฐานข้อมูลเช่นการเข้าถึงฐานข้อมูล SQL Server ซึ่งเรามักจะใช้ในชีวิตประจำวัน เมื่อเชื่อมต่อฐานข้อมูลเหล่านี้ระบบมักจะให้ข้อผิดพลาดบางอย่างเช่น 80004005 ซึ่งลำบากมาก เพื่ออำนวยความสะดวกให้ชาวเน็ตในการแก้ปัญหาประเภทนี้บทความนี้จะแนะนำและตอบคำถามเหล่านี้โดยละเอียด
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Microsoft Access 97 ไดรเวอร์] ฐานข้อมูล Microsoft Jet
เอ็นจิ้นไม่สามารถเปิดไฟล์ '(ไม่ทราบ)'
โดยผู้ใช้รายอื่นหรือคุณต้องการอนุญาตให้ดูข้อมูล
[เหตุผล]
ข้อผิดพลาดนี้เกิดขึ้นเมื่อ IIS ใช้บัญชีที่ไม่ระบุชื่อ (โดยปกติคือ IUSR) ซึ่งอยู่ใน NT สำหรับไดเรกทอรีที่ฐานข้อมูลอยู่
ไม่มีการอนุญาตที่ถูกต้อง
[สารละลาย]
1. ตรวจสอบสิทธิ์ของไฟล์และไดเรกทอรี
2. ตรวจสอบว่าไฟล์แหล่งข้อมูล (DSN) มีการใช้งานโดยธงโปรแกรมอื่น ๆ หรือไม่
3. ตรวจสอบว่าตารางที่เข้าสู่การเข้าถึงเชื่อมต่อกับเซิร์ฟเวอร์เครือข่ายในเวลานี้หรือไม่
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Microsoft Access 97 ไดรเวอร์] ไม่สามารถใช้งานได้ '(ไม่ทราบ)';
ใช้งานแล้ว
[เหตุผล]
ในการเชื่อมต่อกับฐานข้อมูลการเข้าถึงจะถูกใช้เพื่อล็อคฐานข้อมูลทำให้เกิดการไม่สามารถเข้าถึงได้
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Driver Manager] ไม่พบชื่อแหล่งข้อมูลและไม่เริ่มต้น
ระบุไดรเวอร์
[เหตุผล]
เหตุผลที่เป็นไปได้คือสตริงการเชื่อมต่อแอปพลิเคชันเริ่มต้นโดย ConnectString ใน global.asa แต่ไฟล์ global.asa ทำงานไม่ถูกต้องในเวลานี้
[สารละลาย]
ตรวจสอบว่าการกำหนดนั้นถูกต้องหรือไม่เพิ่มรหัสต่อไปนี้ลงใน ASP:
<%= 'auth_user' คือ & request.serverVariables (auth_user)%>
<p>
<%= 'auth_type' คือ & request.serverVariables (auth_type)%>
<p>
<%= สตริงการเชื่อมต่อคือ & เซสชัน (your_connectionString)%>
<p>
อีกเหตุผลหนึ่งคือมีการเพิ่มช่องว่างใน ConnectString เช่น
DSN = MyDSN;
ลองเปลี่ยนเป็นสิ่งต่อไปนี้:
dsn = mydsn; database = pubs;
หาก global.asa ยังไม่ได้รันให้ตรวจสอบว่าไฟล์นั้นอยู่ในไดเรกทอรีรูทของโปรแกรมแอปพลิเคชันหรือในไดเรกทอรีรากของไดเรกทอรีเสมือนจริงหรือไม่
นอกจากนี้ยังมีความเป็นไปได้ที่ข้อผิดพลาดเกิดขึ้นเนื่องจากไม่พบชื่อ DSN ซึ่งสามารถแก้ไขได้โดยใช้วิธีที่ฉันให้กับ ID = 36767 สุดท้ายตรวจสอบว่ามีการติดตั้งไดรเวอร์ล่าสุดหรือไม่ทั้งเวอร์ชัน MDAC ล่าสุด
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Driver Manager] ชื่อแหล่งข้อมูลไม่ ??
[เหตุผล]
ข้อผิดพลาดนี้อาจเกิดขึ้นตามลำดับที่ติดตั้งซอฟต์แวร์ (หรือติดตั้งอย่างย้อนกลับ) บนคอมพิวเตอร์ของคุณ ข้อผิดพลาดนี้จะเกิดขึ้นหากเวอร์ชัน ODBC ไม่สอดคล้องกัน
[สารละลาย]
ทางออกคือการติดตั้ง MDAC เวอร์ชันล่าสุด
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC Access 97 ไดรเวอร์ ODBC] ข้อผิดพลาดทั่วไปไม่สามารถเปิดได้
รีจิสทรีคีย์ 'ไดรเวอร์'
[เหตุผล]
ข้อผิดพลาดนี้เกิดขึ้นเมื่ออ่านค่าจากรีจิสทรี ใช้ regedit32.exe เพื่อตรวจสอบสิทธิ์ของรีจิสทรี
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ไดรเวอร์ ODBC SQL Server] [DBNMPNTW] ConnectionOpen (createFile ())
[เหตุผล]
เหตุผลหนึ่ง: สิ่งนี้สามารถเกิดขึ้นได้ในเครื่องเดียวกันเมื่อฐานข้อมูลมีความสัมพันธ์กับการอนุญาตที่ไม่ได้ใช้แยกต่างหากเมื่อเส้นทาง UNC ถูกตั้งค่าสำหรับความสัมพันธ์หนึ่งในขณะที่ความสัมพันธ์อื่น ๆ เป็นเส้นทางท้องถิ่น
เหตุผลที่สอง: เมื่อผู้ใช้เข้าสู่ระบบด้วยบัญชีนิรนามใน IIS เขาได้รับอนุญาตให้ใช้เครื่องท้องถิ่น แต่สำหรับเครื่อง UNC Path เครื่องจะไม่พิจารณาว่าบัญชีนิรนามปัจจุบันของคุณอยู่ในนั้น ด้วยวิธีนี้มันไม่อนุญาตให้คุณเข้าถึงทรัพยากรบนมันส่งผลให้เกิดข้อผิดพลาด
[สารละลาย]
1. ในเครื่องมือ IIS เปลี่ยนบัญชี IIS ที่ไม่ระบุชื่อเป็นบัญชีที่ใช้โดเมนอื่น (นั่นคืออย่าใช้การเข้าสู่ระบบที่ไม่ระบุชื่อ)
2. หรือสร้างบัญชีที่มีบัญชีนิรนามปัจจุบันเดียวกันบนเครื่องที่คุณต้องการเข้าถึงทรัพยากรโดยใช้รหัสผ่านเดียวกัน
[ข้อความแสดงข้อผิดพลาด]
ผู้ให้บริการ Microsoft OLE DB สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005' Microsoft] [ODBC
ไดรเวอร์ Microsoft SQL] การเข้าสู่ระบบล้มเหลว ()
[เหตุผล]
ข้อผิดพลาดนี้ถูกสร้างขึ้นโดย SQL Server
มันอาจเกิดจากการขาดบัญชี SQL Allusion ใน NT
[สารละลาย]
เข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบ (SA) รหัสผ่านทั่วไปควรว่างเปล่า เพราะชื่อผู้ใช้และรหัสผ่านจะไม่ถูกบันทึกไว้ใน DSN ตรวจสอบว่า NT แมปบัญชีกับ SQL หรือไม่
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80004005'
[Microsoft] [ODBC SQL Server Driver] [SQL Server] เข้าสู่ระบบล้มเหลว- ผู้ใช้: เหตุผล:
ไม่ได้กำหนดเป็นผู้ใช้ที่ถูกต้องของการเชื่อมต่อ SQL Server ที่เชื่อถือได้
[เหตุผล]
ข้อผิดพลาดนี้ถูกสร้างขึ้นโดย SQL Server
มันอาจเกิดจากการขาดบัญชี SQL Allusion ใน NT
[สารละลาย]
ใน Enterprise Manager ของ SQL Server เลือกเซิร์ฟเวอร์/เซิร์ฟเวอร์ SQL/กำหนดค่า [ASCII
133]/ตัวเลือกความปลอดภัย/มาตรฐาน หากทำงานใน IIS4 ให้ยกเลิกการเลือกตัวเลือกการซิงโครไนซ์รหัสผ่านสำหรับโครงการ
[ข้อความแสดงข้อผิดพลาด]
Microsoft OLE DB Provi