[FIX] Microsoft Jet での「オブジェクトが無効かなった設定」エラー

文書翻訳 文書翻訳
文書番号: 304536 - 対象製品
すべて展開する | すべて折りたたむ

現象

開くと、接続やアクセスまたは Microsoft OLE DB プロバイダーを Microsoft ODBC ドライバーを使用して Jet のレコードセットを閉じてと、次エラーが報告されます。
無効なまたはなった設定オブジェクトです。
このエラーが報告されると、これ以上のレコードセットまたは接続が同じプロセスから開くできます。

クライアント アプリケーションに報告されたその他の可能性のあるエラー メッセージのとおりです。
多くのテーブルを開きます。
以上のテーブルを開けません。

解決方法

この問題を解決するには、最新の Jet 4. 0 Service Pack 6 をインストールします。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
239114方法: Microsoft Jet 4. 0 データベース エンジンの最新の Service Pack を取得します。

状況

マイクロソフトとして認識していますこの問題をこの資料の冒頭に記載されているマイクロソフト製品の問題。 この問題は、Jet 4. 0 Service Pack 6 (SP6) で修正されました。

詳細

問題を再現するには次の VBA (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 - 最終更新日: 2005年9月26日 - リビジョン: 2.3
この資料は以下の製品について記述したものです。
  • Microsoft ODBC (Open Database Connectivity) Driver for Access 4.0
  • Microsoft OLE DB Provider for Jet 4.0
キーワード:?
kbqfe kbjet kbprb kbhotfixserver kbmt KB304536 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:304536
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

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