1

私たちの VB6 アプリケーションでは、mdb(データベースへのアクセス) をバックエンドとして使用しています。しかし、実際には mdb ファイルは 255 の同時接続を許可します。しかし、私のソフトウェアを約 35 PC で一緒に開くと、ユーザー エラーが発生し、「アクティブ ユーザーが多すぎます」と表示されます。しかし、60 人以上がソフトウェアにアクセスすると、このエラーが発生することがあります。私が確認したとき、ldbファイルのサイズは最大許容値である16kbでした。次に、ldb ファイルの内容を確認しました。LDB ファイルには 255 のエントリがありませんでしたが、多くの空白のエントリがありました。通常、連続したエントリが必要です。しかし、エラーの場合、内容の間に空白のエントリがたくさんあります。したがって、エラーはこれらの空白のエントリによるものだと思います。しかし、空白のエントリはどのように作成されたのでしょうか? このエラーを解決する方法。以下の接続文字列を使用しています

DBCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & DBname & ";Jet oledb:database password =" & db_password & ";", "admin", ""
4

1 に答える 1

7

問題は、接続文字列やサーバー上で実行されている PC の数ではなく、データベース サーバーへのコードで開かれている接続の量です。さらなるクエリなどのためにデータベースへの接続を再利用する必要があります。おそらく実行するコードがあり、データベースへの接続が閉じられず、再度破棄されることはありません (おそらく、アプリケーションがユーザーによって閉じられている場合)。休止状態になった匿名の接続がたくさんあります。コードを適切に調査しなければ、ここですぐに答えを出すことはできません。

于 2013-11-12T08:03:45.253 に答える