Исправление: "Объекта недопустимо или не установлено" ошибок с помощью Microsoft Jet

Переводы статьи Переводы статьи
Код статьи: 304536
Развернуть все | Свернуть все

Проблема

При открытии и закрытии соединения или наборы записей с помощью драйвера Microsoft ODBC для Microsoft Access или Microsoft OLE DB Provider для Jet, может выводиться следующее сообщение об ошибке:
Объект недопустим или не установлен.
После этого ошибка больше нет записей или подключений может быть открыт из одного и того же процесса.

Другие ошибки сообщения, для клиентского приложения включают:
Открыть слишком много таблиц.
Не удается открыть любые дополнительные таблицы.

Решение

Чтобы устранить эту проблему, установите последний пакет обновления для Microsoft Jet 4.0 6.Дополнительные сведения см. в следующей статье базы знаний Майкрософт::
239114Как получить последнюю версию пакета обновлений для Microsoft Jet 4.0 Database Engine

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи..Эта проблема была устранена в Jet 4.0 с пакетом обновления 6 (SP6).

Дополнительная информация

Воспроизвести проблему, выполните следующие Microsoft Visual Basic для приложений (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
				

Свойства

Код статьи: 304536 - Последний отзыв: 22 ноября 2010 г. - Revision: 2.0
Ключевые слова: 
kbhotfixserver kbqfe kbjet kbprb kbmt KB304536 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:304536
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

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