asp-classic jet

asp classic - Asp Access db: Microsoft JET Database Engine error ''80004005'' Error no especificado



asp-classic (1)

El servidor está dedicado y tengo acceso remoto.

Tenemos un CMS ASP personalizado con base de datos de Access y utilizamos páginas de error personalizadas para "modificar la redacción". Funciona muy bien.

Este sitio web está disponible en 6 idiomas diferentes y cada idioma tiene su propio dominio y todos se conectan a la misma base de datos.

El problema es que recibo este error cada pocas horas:

Error ''80004005'' del Motor de base de datos JET de Microsoft
Error no especificado

Después de obtener este error, tengo que reiniciar IIS o editar "Configuraciones de páginas de error" en el error detallado y luego configurarlo de nuevo a medida. Después de eso, funciona bien.

Tengo Process Monitor instalado y hago un seguimiento del proceso de w3wp.exe.

Cuando ocurre el error, recibí acceso denegado en HKLM/SOFTWARE/Wow6432Node/Microsoft/Jet/4.0/Engines .

Gracias.


La base de datos de acceso nunca se creó para el tráfico de alto volumen, lo más probable es que se bloquee debido a la gran cantidad de solicitudes.

Realmente es mejor cambiar a databae real, en estos días tienes muchos gratis incluyendo SQL Server Express, MySQL y mucho más.

Mientras tanto, puede revisar su código y asegurarse de:

  1. Siempre cierre el conjunto de registros justo después de usarlo y configúrelo en Nada, por ejemplo

    Do Until oRS.EOF ''do your stuff... oRS.MoveNext Loop ''Always close after use oRS.Close Set oRS = Nothing

  2. Lo mismo para el objeto Connection: cierre y deseche cuando termine de usarlo.

  3. Muchas veces las páginas usan Redirigir - asegúrese de cerrar y desechar antes de redireccionar, por ejemplo

    If oRS.EOF Then ''Always close after use oRS.Close Set oRS = Nothing Response.Redirect("Error.asp?v=nouser") End If ''do your stuff... ''Always close after use oRS.Close Set oRS = Nothing