1

この問題の解決策を一日中探していましたが、うまくいくものを見つけることができません。基本的に、Visual Studio を使用してしばらくの間 Access データベースに接続していました (Access データベースを使用しているのには理由があります) が、突然接続できなくなりました。現在、データベース接続を追加しようとすると、「不明なエラー」が表示されます。ここで検索し、MSDN を読み、Visual Studio を再インストールしましたが、何も機能していないようです。「データベース エクスプローラー」に移動し、Access データベースに変更して、ファイルを参照し、「接続のテスト」/「OK」をクリックすると、エラーが表示されます。ファイル固有ではなく、すべてに発生しています。

何か案は?ここで本当に助けが必要です。

4

3 に答える 3

0

MS Access 2013 に接続している VSB2013 でもこれに遭遇しました。

私もそれを少し解決しましたが、これがなぜ安定して機能するのか完全には理解できません

注 - 120 個の ish レコードを循環すると問題が発生します。プロセスは、次のレコードの読み取り-プロセス-次のレコードの読み取りなどです。レコードは似ており、レコードを処理するには他のデータベース読み取りが必要です。Unspecified エラーはレコード/サイクル 79 で発生しますが、レコードは非常に似ています。

私の調査では、以下の3つすべてが機能することがわかりました(つまり、120サイクルがエラーなしで発生します)-しかし、明らかに最初の2つはデバッグ専用です

解決策 1 - 動作) msg​​box をループに挿入します。メッセージ ボックスは、これから処理されるサイクル番号とレコード キーを報告します。

解決策 2 - WORKS) msg​​box を、フォームのリッチ テキスト ボックスに同じテキストを Cr/Lf で追加する行に置き換えました。

解決策 3 - 動作) RTB 更新を Threading.Thread.Sleep(15) の行に置き換えました。スリープするまでのミリ秒数を微調整すると、私のコードでは 15 以上が一貫して機能することがわかります。9 以下の値は一貫して失敗します。10 ~ 14 の値は、一貫性のない結果を示します。

私が知る限り、sleep メソッドはループを一時停止して、他のイベントとガベージ コレクションを実行できるようにします。これは、VB6 までの時代に使用されていた DoEvents に似ていますか。

それは私が知っている限りです。よろしくジェフ

于 2014-09-07T17:20:57.067 に答える