REVISIÓN: Error de "Objeto no válido o ya no establecido" con Microsoft Jet

Seleccione idioma Seleccione idioma
Id. de artículo: 304536 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Al abrir y cerrar conexiones o conjuntos de registros utiliza el controlador ODBC de Microsoft para Access o el proveedor OLE DB para Jet, puede aparecer el siguiente error:
Objeto no válido o ya no establecido.
Una vez registrado este error, no hay más conjuntos de registros o las conexiones pueden abrirse desde el mismo proceso.

Otros mensajes de error posibles informa a la aplicación de cliente incluyen:
Demasiadas tablas abiertas.
No se puede abrir más tablas.

Solución

Para resolver este problema, instale el service pack más reciente para Microsoft Jet 4.0 6. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239114Cómo: Obtener el Service Pack más reciente para el motor de base de datos Microsoft Jet 4.0

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo. Este problema se ha corregido en Service Pack 6 (SP6) de Jet 4.0.

Más información

Para reproducir el problema, ejecute el siguiente de Microsoft Visual Basic para aplicaciones (VBA):
Public Sub Jet_TableID_Repro()
Dim conn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.recordset
Dim i As Long
    
    Set conn = New ADODB.Connection
    ' Modify this connection string to point to some blank database.
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\YourTestDatabase.mdb;"
    
    ' Drop and re-create test query.
    On Error Resume Next
    conn.Execute "drop procedure sp_param_test", , adExecuteNoRecords
    On Error GoTo 0
    conn.Execute "create procedure sp_param_test as " & _
                 "parameters iInput Long; " & _
                 "select iInput as iOutput;", , adExecuteNoRecords
    
    For i = 1 To 10000

        ' Code should fail at around 2000-3000 iterations.
        Set rs = New ADODB.recordset
        Set cmd = New ADODB.Command
        Set cmd.ActiveConnection = conn
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = "sp_param_test"
        cmd.Parameters.Append cmd.CreateParameter("iInput", adInteger)
        cmd.Parameters(0).value = 12

        ' This will fail at around 2000-3000 iterations.
        rs.Open cmd, , adOpenKeyset, adLockOptimistic
        Set cmd = Nothing
        Debug.Print i
        DoEvents
        rs.Close
        Set rs = Nothing

    Next i

End Sub
				

Propiedades

Id. de artículo: 304536 - Última revisión: lunes, 26 de septiembre de 2005 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Open Database Connectivity Driver for Access 4.0
  • Microsoft OLE DB Provider for Jet 4.0
Palabras clave: 
kbmt kbhotfixserver kbqfe kbjet kbprb kbqfe KB304536 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 304536
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com