3

私の会社は、Visual Basic 6を使用してアプリケーションを開発しました。
このアプリケーションは、ODBCデータソースを介してAccessデータベースを使用します。
Accessデータベースは、拡張子が「.mdb」のファイルです。

次の環境でアプリケーションを実行しているときに、データアクセスが遅いことに気づきませんでした。

  • OS:Windows732ビット。
  • インストールされているMSAccessのバージョン:Access2007。
  • OBDCデータソースで使用されるAccessドライバー:Microsoft Accessドライバー(* .mdb)バージョン6.01.7601.17632。

ただし、次の環境でアプリケーションを実行すると、データアクセスが遅くなることがわかりました。

  • OS:Windows764ビット。
  • インストールされているMSAccessのバージョン:Access2010または2003。
  • ODBCデータソースで使用されるAccessドライバー:Microsoft Accessドライバー(* .mdb)バージョン6.01.7601.17632。

私は解決策を見つけるためにしばらくの間グーグルで検索しました。
インターネットで見つかった記事によると、他の開発者も同じ問題を経験しています。

詳細については、トレース機能がODBC32ビットアドミニストレータで有効になっていません。
次のページでは、トレース機能について説明しています。http:
//answers.microsoft.com/en-us/office/forum/office_2010-access/my-solution-to-access-being-slow-with-odbc/a5a6522f-a70f- 421e-af1b-48327075e010

また、次のページで説明されているように、LLMNRプロトコルを無効にしようとしましたが成功しませんでした:http: //accessexperts.net/blog/2011/11/02/windows-7-64bit-slow-with-access-2007-solved/

どんな助けでも大歓迎です

4

1 に答える 1

1

確認すべき点は数多くありますが、最初にして最も重要なことは、永続的な接続と呼ばれるものをアプリケーション内に作成することです。永続的な接続とは、単純に、スタートアップ コードのどこかで、バックエンドからレコード セットへのテーブルを開き、そのアプリケーションで他の操作を行っている間、そのテーブルを開いたままにしておくことを意味します。

永続的な接続がしばしば大きな違いを生む理由は、新しいオペレーティング システムでは、データベースへの接続が作成されるときに、追加のセキュリティとオーバーヘッドが非常に多くなる傾向があるためです。また、通常、アクセス データベースでテーブルを開いたり閉じたりするには、これらの接続も開いたり閉じたりする必要があることがわかりました。永続的な接続を常に開いたままにしておくと、コード内の一般的な更新の一般的なパフォーマンスを妨げるこの非常に遅くて大きなオーバーヘッド プロセスが発生しなくなります。

このセットアップは、このパフォーマンスの問題と問題を解決することが非常に多いため、上記を試してみてください。

于 2012-09-14T02:21:18.503 に答える