ACCESS は、クライアント/サーバー用の優れたフロントエンド開発ツールであり、学習と使用が簡単で、使いやすいインターフェイスを備え、開発が簡単で、他のデータベースとの柔軟なインターフェイスを備えています。ただし、大量のデータを処理する場合は比較的遅くなります。深セン電力供給局には現在 60 万人のユーザーがおり、以下の 6 つの事業所があり、64K DDN で接続されています。1 つの事業所が 10,000 人のユーザーを処理しようとすると、2 ~ 3 時間かかり、他の事業所の開発に深刻な影響を及ぼします。ビジネス。そのため、処理する必要のあるデータが大量にある場合、クライアント側で処理できず、サーバー側で処理する必要があります。
ただし、ACCESS とサーバー間の接続のほとんどは ODBC 経由であるため、バックグラウンド ストアド プロシージャを呼び出すことが困難になります。実際の作業での長期的な検討を通じて、著者は、さまざまなビジネス ニーズに応じて、次の 3 つの方法を使用してバックグラウンド ストアド プロシージャを呼び出すことができるようになりました。
1. Access はジョブをバックグラウンドで送信し、各ジョブはストアド プロシージャに対応します。 SQL Server 6.5 では、対応するタスクはタスク マネージャーを通じて作成され、Oracle 8.0 では、対応するジョブはジョブ キューの管理を通じて作成されます。 Access では、job_list テーブルにジョブを挿入します。これらのジョブは通常、毎晩実行されます。これらの業務に該当する業務は一般的に非常に大量のデータを処理する必要があり、リアルタイム性が低いのが当社の業務の典型的な例であり、毎晩の大量の電気料金の計算が挙げられます。
2. サーバー側でいくつかのトリガーを作成し、Access でこれらのトリガーをアクティブにします。 SQL Server 6.5 および Oracle 8.0 では、これはトリガーの作成によって実現されます。 Access では、さまざまなビジネスに応じて、レコードの挿入、変更、削除によってさまざまなトリガーがアクティブになります。当社のビジネスでの例としては、営業担当者がユーザーの電力メーターの測定値を変更し、電気料金を計算するトリガーをアクティブにすると、ユーザーの電気料金がすぐに再計算されます。これにより、Access側で再開発することなく、電気料金の一括計算プログラムを共通化することができ、フロントエンドの応答速度を向上させることができます。
3. 上記の 2 つのメソッドはバックグラウンド ストアド プロシージャを間接的に呼び出すだけですが、Access を使用してクエリを渡し、コマンドをデータベース サーバーに直接送信することもできます。
Accessのパススルークエリを作成する手順は以下の通りです:
(1)データベースウィンドウの「クエリ」タブをクリックし、「新規」ボタンをクリックします。
(2)「新しいクエリ」ダイアログボックスの「デザインビュー」オプションをクリックし、「OK」ボタンをクリックします。
(3)「テーブルの表示」ダイアログボックスの「閉じる」ボタンをクリックします。
(4) 「クエリ」メニューの「SQL文の条件」をポイントし、「転送」コマンドをクリックします。
(5) ツールバーの「プロパティ」ボタンをクリックしてクエリ属性テーブルを表示してください。
(6)クエリ属性テーブルに、接続するデータベース情報を指定する「ODBC接続文字列」属性を設定してください。接続情報「ODBC;DSN=ntserver0;UID=sa;PWD=;DATABASE=BMS」を入力するか、「生成」ボタンを使用して接続情報を生成できます。