Điểm:1

Lỗi: Tệp home.asp Lỗi không mong muốn. Đã xảy ra lỗi có thể bẫy được (C0000005) trong một đối tượng bên ngoài. Sử dụng Trình kết nối ODBC

lá cờ in

Làm cách nào tôi có thể khiến nhóm ứng dụng của mình ngừng gặp sự cố?

Lý lịch

Tất cả đều hoạt động tốt trong nhiều năm, cho đến khi tôi cập nhật Windows 10 Pro lên bản cập nhật được đề xuất Gói trải nghiệm tính năng Windows.

nhập mô tả hình ảnh ở đây

Hệ thống hiện tại:

Phiên bản Windows 10 Pro
Phiên bản 21H2
Được cài đặt vào â8/â24/â2020
Bản dựng hệ điều hành 19044.1415
Trải nghiệm Windows Feature Experience Pack 120.2212.3920.0

Điều này có lẽ đã thay đổi một số quyền của người dùng và cách thức hoạt động của IIS; và đến mức tôi bị mất trang web của mình. Tôi đã phải cài đặt lại mọi thứ.

Lỗi (C0000005)

Đã bốn tuần kể từ khi tôi cập nhật từ MariaDB 10.1 lên MariaDB 10.6 và cùng với đó, tôi đã thay đổi từ việc sử dụng Trình điều khiển MySQL ODBC 5.1 sang Trình kết nối MariaDB/ODBC 3.1 (Phiên bản 3.01.15.00) là một phần của "loạt phát hành ổn định hiện tại."

Những lỗi không hữu ích này đang thiếu thông tin số dòng nơi xảy ra lỗi. Họ đọc:

Tệp /home.asp Lỗi không mong muốn. Đã xảy ra lỗi có thể bẫy được (C0000005) trong một đối tượng bên ngoài. Tập lệnh không thể tiếp tục chạy.

Và trông như thế này:

lỗi (C0000005)


Tôi đã làm gì:

Tôi đã kiểm tra mã của mình để tìm các kết nối còn mở tới cơ sở dữ liệu như được đề xuất trong bài đăng này Lỗi cổ điển ASP C0000005 nhưng tôi vẫn nhận được những lỗi này. Các lỗi ASP (C0000005) ngẫu nhiên này tiếp tục làm giảm nhóm ứng dụng và hoạt động rất giống như được mô tả trong chủ đề này nơi mà một số rò rỉ bộ nhớ có thể là nguyên nhân.

Bây giờ tôi đang xem xét sử dụng một trình điều khiển khác.

Các câu trả lời trong chủ đề này Lỗi ASP 0115 và C0000005 là gì đề xuất sử dụng trình kết nối ODBC phiên bản 5.1.6 (mysql-connector-odbc-5.1.6-winx64.msi) từ năm 2009. Cái này Trình kết nối MySQL/ODBC 8.0.27 (mysql-connector-odbc-8.0.27-winx64.msi) có vẻ cập nhật hơn. Và tôi nên thử.

Điều đầu tiên tôi nhận thấy nó nhanh hơn nhiều. Bây giờ tôi chỉ hy vọng rằng những Lỗi C0000005 này sẽ kết thúc.


Cập nhật A: Lỗi vẫn quay trở lại, nhưng sớm hơn nhiều so với dự đoán.

tôi đã thử 32-bit trình điều khiển cũng như mysql-connector-odbc-8.0.27-win32.msi để xem liệu điều đó có hoạt động không nhưng thậm chí không thể tải trang. Tôi đoán tôi sẽ cần sử dụng nhóm ứng dụng 32 bit để nó hoạt động. (Chưa thử điều đó.)


Cập nhật B: Bây giờ tôi đã trở lại sử dụng Trình kết nối MySQL 64 bit/ODBC 8.0.27 người lái xe.

Nó có thể là cách tôi định cấu hình trình điều khiển làm giảm nhóm ứng dụng của tôi không?

Đây là chuỗi kết nối của tôi:

Conn_STRING = "dsn=___;" & _
   "TCPIP=1;" & _
   " MÁY CHỦ=127.0.0.1;" & _
   "UID=___;" & _
   "NKT=___;" & _
   "CƠ SỞ DỮ LIỆU = ___;" & _
   "CỔNG=3306;" & _
   "CONN_TIMEOUT=30;" & _
   "CHARSET=utf8mb4;" & _
   "READ_TIMEOUT=20;" & _
   "WRITE_TIMEOUT=10;" & _
   "Tùy chọn=3"

Tôi đặt các tham số kết nối như vậy:

sự liên quan

metadata

con trỏ/kết quả

gỡ lỗi

ssl

linh tinh

Tôi nhận thấy rằng bằng cách nào đó, nhóm ứng dụng bằng cách nào đó vẫn tiếp tục chạy bất chấp các Erross đã ghi này:

- <Sự kiện xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <Hệ thống>
  <Tên nhà cung cấp="Trang máy chủ đang hoạt động" /> 
  <EventID Qualifiers="49152">5</EventID> 
  <Version>0</Version> 
  <Cấp độ>2</Cấp độ> 
  <Nhiệm vụ>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2021-12-23T21:41:37.9772561Z" /> 
  <EventRecordID>2212200</EventRecordID> 
  <tương quan /> 
  <Quy trình thực thiID="0" ThreadID="0" /> 
  <Channel>Ứng dụng</Channel> 
  <Máy tính>vm trắng</Máy tính> 
  <Bảo mật /> 
  </Hệ thống>
- <Dữ liệu sự kiện>
  <Dữ liệu>Tệp /blog.asp Lỗi không mong muốn. Đã xảy ra lỗi có thể bẫy được (C0000005) trong một đối tượng bên ngoài. Tập lệnh không thể tiếp tục chạy.</Data> 
  </Dữ liệu sự kiện>
  </Sự kiện>

Tôi cũng thấy một Cảnh báo mới trong Nhật ký hệ thống.

Nhóm ứng dụng phục vụ quy trình 'myPool' bị lỗi nghiêm trọng
lỗi giao tiếp với Dịch vụ Kích hoạt Quy trình Windows. Các
id quá trình là '1124'. Các trường dữ liệu chứa số lỗi.


CẬP NHẬT

Tôi mệt mỏi với nhiều trình điều khiển ODBC khác nhau. Trình điều khiển MariaDB ODBC và MySQL ODBC. Không ai giữ cho nhóm ứng dụng không bị sập. Trước khi gặp sự cố, rất nhiều lỗi C0000005 đã được ghi lại. Trình điều khiển MySQL ODBC 8.0 hóa ra nhanh hơn và linh hoạt hơn nhiều, nhưng vẫn có điều gì đó làm giảm nhóm ứng dụng. Tôi hiện đang sử dụng trình điều khiển Unicode ODBC 8.0 của MySQL.

MariaDB ODBC có lỗi?

Hơn nữa, bây giờ tôi đã thay đổi cách thiết lập các đối tượng. Thay vì đặt chúng như thế này

SET rs = Server.CreateObject("ADODB.Recordset")
SET wshell = Server.CreateObject("WScript.Shell")
SET tin nhắn = Server.CreateObject("CDO.Message")

Tôi bây giờ chỉ làm

SET rs = CreateObject("ADODB.Recordset")
SET wshell = CreateObject("WScript.Shell")
SET tin nhắn = CreateObject("CDO.Message")

Đó là nhìn chằm chằm để trông hứa hẹn hơn. Một số lỗi đôi khi có số dòng.

Tôi đã liên hệ với Microsoft để giúp tôi giải thích Báo cáo phân tích DebugDiag của tôi của những sự cố này. Tôi cũng nhận thấy một mẫu mới bắt đầu hiển thị trong nhật ký lỗi. đầu tiên một Trang máy chủ đang hoạt động theo dõi bởi Lỗi ứng dụng:

mẫu lỗi

Lỗi trang máy chủ đang hoạt động:

Lỗi: Tệp /blog.asp Lỗi không mong muốn.Đã xảy ra lỗi có thể bẫy được (C0000005) trong một đối tượng bên ngoài. Tập lệnh không thể tiếp tục chạy..

Lỗi ứng dụng:

Tên ứng dụng bị lỗi: w3wp.exe, phiên bản: 10.0.19041.1, dấu thời gian: 0x58c67bf3
Tên mô-đun bị lỗi: ntdll.dll, phiên bản: 10.0.19041.1288, dấu thời gian: 0xa280d1d6
Mã ngoại lệ: 0xc0000409
Độ lệch lỗi: 0x00000000000a2070
Id quá trình bị lỗi: 0x3144
Lỗi thời gian bắt đầu ứng dụng: 0x01d7fd9d0686ef42
Đường dẫn ứng dụng bị lỗi: c:\windows\system32\inetsrv\w3wp.exe
Đường dẫn mô-đun bị lỗi: C:\WINDOWS\SYSTEM32\ntdll.dll
Id báo cáo: cda5aa10-492d-4e5c-ae17-ac4f9dbf70ab
Gói lỗi tên đầy đủ: ID ứng dụng liên quan đến gói bị lỗi:


Như đề xuất đây tại mysql.com, giờ đây tôi đã thay đổi cài đặt trình kết nối DSN của mình để sử dụng với ASP. Tôi đã kiểm tra để hộp Trả lại các hàng phù hợp thay vì các hàng bị ảnh hưởng.

tôi đã có Tùy chọn = 3 trong chuỗi kết nối của tôi và được tìm thấy dựa trên blog này rằng tôi có lẽ nên tuyên bố nó là FLAG_FIELD_LENGTH (1) + FLAG_FOUND_ROWS (2).

Mọi ý kiến ​​góp ý đều được chào đón.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.