Score:1

ข้อผิดพลาด: ไฟล์ home.asp เกิดข้อผิดพลาดที่ไม่คาดคิด เกิดข้อผิดพลาดที่สามารถดักจับได้ (C0000005) ในวัตถุภายนอก การใช้ตัวเชื่อมต่อ ODBC

ธง in

ฉันจะทำให้กลุ่มแอปพลิเคชันของฉันหยุดการหยุดทำงานของฉันได้อย่างไร

พื้นหลัง

ทั้งหมดทำงานได้ดีเป็นเวลาหลายปี จนกระทั่งฉันได้อัปเดต Windows 10 Pro เป็นการอัปเดตที่แนะนำ ชุดประสบการณ์คุณลักษณะของ Windows.

ป้อนคำอธิบายรูปภาพที่นี่

ระบบปัจจุบัน:

รุ่น Windows 10 Pro
รุ่น 21H2
ติดตั้งเมื่อ â8/â24/â2020
ระบบปฏิบัติการรุ่น 19044.1415
สัมผัสกับ Windows Feature Experience Pack 120.2212.3920.0

สิ่งนี้อาจมีการเปลี่ยนแปลงสิทธิ์ของผู้ใช้บางส่วนและวิธีการทำงานของ IIS และถึงจุดที่ฉันทำเว็บไซต์หาย ฉันต้องติดตั้งใหม่ทั้งหมด

ข้อผิดพลาด (C0000005)

เป็นเวลาสี่สัปดาห์แล้วที่ฉันอัปเดตจาก MariaDB 10.1 เป็น MariaDB 10.6 และด้วยเหตุนี้ ฉันจึงเปลี่ยนจากการใช้ MySQL ODBC 5.1 Driver เป็น MariaDB Connector/ODBC 3.1 (เวอร์ชัน 3.01.15.00) ซึ่งเป็นส่วนหนึ่งของ "ซีรีย์การเปิดตัวที่เสถียรในปัจจุบัน."

ข้อผิดพลาดที่ไม่เป็นประโยชน์เหล่านี้ไม่มีข้อมูลหมายเลขบรรทัดที่มีข้อผิดพลาดอยู่ พวกเขาอ่าน:

ไฟล์ /home.asp เกิดข้อผิดพลาดที่ไม่คาดคิด เกิดข้อผิดพลาดที่สามารถดักจับได้ (C0000005) ในวัตถุภายนอก สคริปต์ไม่สามารถทำงานต่อไปได้

และมีลักษณะดังนี้:

ข้อผิดพลาด (C0000005)


ฉันทำอะไรลงไป:

ฉันตรวจสอบรหัสของฉันสำหรับการเชื่อมต่อกับฐานข้อมูลที่เปิดทิ้งไว้ตามที่แนะนำในโพสต์นี้ ข้อผิดพลาด ASP C0000005 แบบคลาสสิก แต่ฉันยังคงได้รับข้อผิดพลาดเหล่านี้ ข้อผิดพลาด ASP แบบสุ่ม (C0000005) เหล่านี้ทำให้กลุ่มแอปพลิเคชันหยุดทำงานและมีพฤติกรรมอย่างมากตามที่อธิบายไว้ใน หัวข้อนี้ ที่ซึ่งหน่วยความจำรั่วบางส่วนอาจถูกตำหนิ

ตอนนี้ฉันกำลังพิจารณาใช้ไดรเวอร์อื่น

คำตอบอยู่ในกระทู้นี้ ข้อผิดพลาด ASP 0115 และ C0000005 คืออะไร แนะนำให้ใช้ตัวเชื่อมต่อ ODBC เวอร์ชัน 5.1.6 (mysql-connector-odbc-5.1.6-winx64.msi) ซึ่งมาจากปี 2009 สิ่งนี้ ตัวเชื่อมต่อ MySQL/ODBC 8.0.27 (mysql-connector-odbc-8.0.27-winx64.msi) ดูทันสมัยมากขึ้น และฉันควรลองดู

สิ่งแรกที่ฉันสังเกตเห็นมันเร็วกว่ามาก ตอนนี้ฉันแค่หวังว่าข้อผิดพลาด C0000005 เหล่านี้จะสิ้นสุดลง


อัปเดต A: ข้อผิดพลาดยังคงกลับมา แต่เร็วกว่าที่คาดไว้มาก

ฉันพยายาม 32 บิต ไดรเวอร์รวมถึง mysql-connector-odbc-8.0.27-win32.msi เพื่อดูว่าจะใช้งานได้หรือไม่ แต่ไม่สามารถโหลดหน้าเว็บได้ ฉันเดาว่าฉันต้องใช้พูลแอปพลิเคชันแบบ 32 บิตเพื่อให้ทำงานได้ (ยังไม่ได้ลองว่า.)


อัปเดต B: ตอนนี้ฉันกลับมาใช้ ตัวเชื่อมต่อ MySQL 64 บิต/ODBC 8.0.27 คนขับรถ

อาจเป็นวิธีที่ฉันกำหนดค่าไดรเวอร์ที่ทำให้กลุ่มแอปพลิเคชันของฉันหยุดทำงาน

นี่คือสตริงการเชื่อมต่อของฉัน:

Conn_STRING = "dsn=___;" & _
   "TCPIP=1;" & _
   "เซิร์ฟเวอร์=127.0.0.1;" & _
   "ยูไอดี=___;" & _
   "พึมพำ=___;" & _
   "ฐานข้อมูล=___;" & _
   "PORT=3306;" & _
   "CONN_TIMEOUT=30;" & _
   "CHARSET=utf8mb4;" & _
   "READ_TIMEOUT=20;" & _
   "WRITE_TIMEOUT=10;" & _
   "ตัวเลือก = 3"

ฉันตั้งค่าพารามิเตอร์การเชื่อมต่อดังนี้:

การเชื่อมต่อ

ข้อมูลเมตา

เคอร์เซอร์/ผลลัพธ์

แก้ไขข้อบกพร่อง

เอสเอสแอล

อื่น ๆ

ฉันสังเกตเห็นว่ากลุ่มแอปพลิเคชันยังคงทำงานต่อไปแม้จะมี Erross ที่บันทึกไว้เหล่านี้:

- <เหตุการณ์ xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <ระบบ>
  <ชื่อผู้ให้บริการ = "เพจเซิร์ฟเวอร์ที่ใช้งานอยู่" /> 
  <EventID Qualifiers="49152">5</EventID> 
  <เวอร์ชั่น>0</เวอร์ชั่น> 
  <ระดับ>2</ระดับ> 
  <งาน>0</งาน> 
  <Opcode>0</Opcode> 
  <คีย์เวิร์ด>0x80000000000000</คีย์เวิร์ด> 
  <TimeCreated SystemTime="2021-12-23T21:41:37.9772561Z" /> 
  <EventRecordID>2212200</EventRecordID> 
  <ความสัมพันธ์ /> 
  <Execution ProcessID="0" ThreadID="0" /> 
  <ช่อง>แอปพลิเคชัน</ช่อง> 
  <คอมพิวเตอร์>vm-ขาว</คอมพิวเตอร์> 
  <ความปลอดภัย /> 
  </ระบบ>
- <ข้อมูลเหตุการณ์>
  <ข้อมูล> ไฟล์ /blog.asp เกิดข้อผิดพลาดที่ไม่คาดคิด เกิดข้อผิดพลาดที่สามารถดักจับได้ (C0000005) ในวัตถุภายนอก สคริปต์ไม่สามารถทำงานต่อไปได้</Data> 
  </ข้อมูลเหตุการณ์>
  </เหตุการณ์>

ฉันยังเห็นคำเตือนใหม่ในบันทึกของระบบ

กระบวนการให้บริการแอพพลิเคชั่นพูล 'myPool' ประสบปัญหาร้ายแรง
ข้อผิดพลาดในการสื่อสารกับ Windows Process Activation Service เดอะ
รหัสกระบวนการคือ '1124' เขตข้อมูลประกอบด้วยหมายเลขข้อผิดพลาด


อัปเดต

ฉันเบื่อไดรเวอร์ ODBC ที่แตกต่างกันมากมาย ไดรเวอร์ MariaDB ODBC และ MySQL ODBC ไม่มีช่วยให้กลุ่มแอปพลิเคชันหยุดทำงาน ก่อนที่จะเกิดปัญหาข้อผิดพลาด C0000005 จำนวนมากจะถูกบันทึกไว้ ไดรเวอร์ MySQL ODBC 8.0 นั้นเร็วกว่ามากและให้อภัยมากกว่า แต่มีบางอย่างที่ทำให้กลุ่มแอปพลิเคชันหยุดทำงาน ตอนนี้ฉันใช้ไดรเวอร์ MySQL ODBC 8.0 Unicode

MariaDB ODBC มีข้อผิดพลาดหรือไม่

นอกจากนี้ ตอนนี้ฉันเปลี่ยนวิธีการตั้งค่าวัตถุแล้ว แทนที่จะตั้งแบบนี้

SET rs = Server.CreateObject("ADODB.Recordset")
SET wshell = Server.CreateObject("WScript.Shell")
ข้อความ SET = Server.CreateObject ("CDO.Message")

ตอนนี้ฉันเพิ่งทำ

SET rs = CreateObject("ADODB.Recordset")
SET wshell = CreateObject("WScript.Shell")
ข้อความ SET = CreateObject ("CDO.Message")

มันกำลังดูมีความหวังมากขึ้น ข้อผิดพลาดบางอย่างบางครั้งมีหมายเลขบรรทัด

ฉันติดต่อ Microsoft เพื่อช่วยฉันตีความ รายงานการวิเคราะห์ DebugDiag ของฉัน ของการขัดข้องเหล่านี้ ฉันยังสังเกตเห็นรูปแบบใหม่ที่เริ่มแสดงในบันทึกข้อผิดพลาด อันดับแรก หน้าเซิร์ฟเวอร์ที่ใช้งานอยู่ ติดตามโดย ข้อผิดพลาดของแอปพลิเคชัน:

รูปแบบข้อผิดพลาด

ข้อผิดพลาดของหน้าเซิร์ฟเวอร์ที่ใช้งานอยู่:

ข้อผิดพลาด: ไฟล์ /blog.asp เกิดข้อผิดพลาดที่ไม่คาดคิดเกิดข้อผิดพลาดที่สามารถดักจับได้ (C0000005) ในวัตถุภายนอก สคริปต์ไม่สามารถทำงานต่อไปได้..

ข้อผิดพลาดของแอปพลิเคชัน:

ชื่อแอปพลิเคชันไม่ถูกต้อง: w3wp.exe รุ่น: 10.0.19041.1 การประทับเวลา: 0x58c67bf3
ชื่อโมดูลไม่ถูกต้อง: ntdll.dll รุ่น: 10.0.19041.1288 การประทับเวลา: 0xa280d1d6
รหัสข้อยกเว้น: 0xc0000409
ค่าชดเชยความผิดพลาด: 0x00000000000a2070
รหัสกระบวนการผิดพลาด: 0x3144
เวลาเริ่มต้นแอปพลิเคชันผิดพลาด: 0x01d7fd9d0686ef42
เส้นทางแอปพลิเคชันไม่ถูกต้อง: c:\windows\system32\inetsrv\w3wp.exe
เส้นทางโมดูลไม่ถูกต้อง: C:\WINDOWS\SYSTEM32\ntdll.dll
รหัสรายงาน: cda5aa10-492d-4e5c-ae17-ac4f9dbf70ab
ชื่อเต็มของแพ็คเกจที่ผิดพลาด: ID แอ็พพลิเคชันที่เกี่ยวข้องกับแพ็คเกจผิดพลาด:


ตามที่แนะนำ ที่นี่ ที่ mysql.com ตอนนี้ฉันเปลี่ยนการตั้งค่าตัวเชื่อมต่อ DSN เพื่อใช้กับ ASP ฉันทำเครื่องหมายที่กล่อง ส่งคืนแถวที่ตรงกันแทนแถวที่ได้รับผลกระทบ.

ฉันมี ตัวเลือก = 3 ในสตริงการเชื่อมต่อของฉันและพบตาม บล็อกนี้ ที่ฉันควรจะประกาศเป็น FLAG_FIELD_LENGTH (1) + FLAG_FOUND_ROWS (2).

ข้อเสนอแนะใด ๆ ที่ยินดีเป็นอย่างยิ่ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา