SQL Server データベースのフロントエンドとして Access を使用するメリットは何でしょうか? まず、クライアントのユーザーが Access に慣れている可能性が高く、導入も比較的簡単です。
データベースシステムを熟知していることは重要ですが、それだけでは十分ではありません。ユーザーがすぐに使いこなせる、使いやすいインターフェースを開発することも同様に重要です。このプロセスに適切なツールを選択しないと、あらゆる知識を持っているはずのコンサルタントが、無能な印象を与えてしまう可能性があります。使いにくいインターフェースや遅いインターフェースでユーザーを失望させれば、あなたの評判は地に落ちてしまうでしょう。
車輪の再発明に多くの時間を費やすか、リレーショナルデータベースであるAccess単体を使用するか、どちらかを選ぶことができます。SQL Serverとは異なり、Accessは柔軟で使いやすい最終製品を構築するための様々な開発ツールとコントロールを提供しています。多くの開発者がフロントエンドアプリケーションの構築にAccessを利用しています。ぜひAccessの活用をご検討ください。時間とクライアントのコストを節約できます。この記事では、SQL ServerリレーショナルデータベースのフロントエンドとしてAccessデータプロジェクトを使用するメリットをいくつかご紹介します。
Access データ プロジェクトとは何でしょうか?
長年にわたり、Access は大規模データベースの便利なフロントエンドとして実証されてきましたが、パススルー クエリやリンク テーブルの使用に制限されていました。しかし、今では Access データ プロジェクト (ADP) が登場し、よりクリーンで使いやすくなりました。ADP は、フォーム、レポート、マクロ、Visual Basic for Applications (VBA) コード モジュールなどのユーザー オブジェクトを格納する Access 固有のファイル形式です。その他のオブジェクト (テーブル、ストアド プロシージャ、ビューなど) はすべてデータベース サーバーに格納されます。ADP は Microsoft 独自のソリューションであるため、SQL Server 以外のリレーショナル データベース サーバーでは動作しません (少なくとも直接動作はしません)。
パススルークエリとリンクテーブルを使用することで、Accessを他のリレーショナルデータベースと引き続き連携させることができます。ただし、ADPを使用してOracleやDB2などに接続することはできません。パススルークエリを使用すると、SQL Server以外のデータベースと連携できます。
従来、パススルークエリはサーバーのネイティブダイアレクトで記述され、サーバーに渡されます。多くの場合、使用しているデータベースサーバーのネイティブダイアレクトを使用することで、より強力なクエリを作成できます。ただし、パススルークエリは通常読み取り専用であるため、注意が必要です。
必要に応じて、Access をサーバーテーブルにリンクできます。ただし、リンクテーブルには Open Database Connectivity (ODBC) が必要ですが、これは Microsoft の通信戦略から徐々に姿を消しつつあるようです。このオプションを選択する場合は、将来的に完全にサポートされなくなる可能性のある古いテクノロジーを使用することを前提としてください。また、リンクテーブルはすべてのレコードをアプリケーションに返すため、データベースサーバーを使用する主な理由の 1 つ(要求されたデータのみを返す)が損なわれる可能性があります。
ADPを選ぶ理由とは?
多くの開発者は、Accessを真のサーバーデータベースだと勘違いしています。なぜなら、Accessデータベースは2つのファイルに分かれていることが多いからです。1つのファイルにはテーブルが含まれ、もう1つのファイルにはインターフェースオブジェクトが含まれています。見た目とは異なり、Accessは実際にはファイルベースのデータベースです。Accessはクライアントサーバー環境で使用できますが、サーバーデータベースとして設計されたものではありません。
元の MDB ファイル形式とは対照的に、ADP を使用すると、さまざまな方法でデータベース サーバーのパワーと安定性を活用できます。
- Accessのグラフィカルインターフェースツールを使用することで、SQL Serverと連携するエンドユーザーアプリケーションを開発するための迅速なアプリケーション開発(RAD)が可能になります。例えば、クエリビルダーを使用して、SQL Serverに直接作用するストアドプロシージャ、関数、ビューをグラフィカルに構築できます。さらに、Accessのフォームデザイングラフィカルツールを使用することで、ユーザーインターフェースフォームを迅速に構築できます。
- 処理はクライアント側のAccessではなく、データベースサーバー上のSQL Serverによって実行されます。そのため、ネットワークトラフィックが削減されます(分割MDBの場合とは異なります)。
- ストアドプロシージャは実行プランを使用し、サーバー上に保存されます。つまり、Accessクエリよりも高速です。
- Transact-SQL (T-SQL) は SQL に手続き型の拡張機能を提供し、より高度なクエリを構築できるようにします。
- ユーザーがビューまたはストアド プロシージャを介して表示および操作できる SQL Server データを制限することで、セキュリティを拡張できます。
- SQL Server のセキュリティは、Access が提供するセキュリティモデルよりも堅牢です。さらに、SQL Server のセキュリティは Windows のセキュリティを包含していますが、Access のセキュリティは完全に独立しています。
- SQL Server アプリケーションのより安定した強力な基盤は、Windows 2000 Advanced Server という、(Windows 上で実行される MDB と比較して) 業務用の強力なオペレーティング システムの形で提供されます。
ADP を作成する方法
ADP を SQL Server のフロントエンドとして使用するには、次の 3 つの方法があります。
- MDBファイルをADPファイルに変換すると、SQL Serverが使用されます。すべてのデータはSQL Serverに保存されますが、データ操作にはAccessの使い慣れたインターフェースを使用します。この選択では、フォーム、レポート、クエリなどを手動で変更する必要があるため、開発にかなりの時間をかける必要があります。
- MDBファイルはそのままにして、MDBファイル内からサーバーテーブルへのリンクを作成してください。これにより、SQL Server上の新しくサイズアップされたテーブルへのODBCリンクが使用されるようになります。結果として、以前のものよりも処理速度が低下します。
- 実際の MDB ファイルに変更を加えずに、SQL Server 上に完全に新しいデータベースを作成して、SQL Server へのデータをアップサイズします。
Accessには、3つのソリューションすべてに必要なツール、つまりアップサイジングウィザードが用意されています。どの方法を選択する場合でも、成功の鍵は計画です。データベースのアップサイジングを成功させる前に、必ずバックアップを作成してください。その後、いくつかの調整が必要になる場合があります。
- SQL Server は、1753 年 1 月 1 日から 9999 年 12 月 31 日までの日付をサポートします。Access は、100 年 1 月 1 日から 9999 年 12 月 31 日までの日付をサポートします。1953 年 1 月 1 日より前の日付を含む Access テーブルをアップサイズすることはできません。
- Accessオブジェクトのデータソースとして、SQLステートメントではなく保存済みクエリを使用します。ウィザードは、保存済みクエリごとに対応するSQL Serverオブジェクトを作成します。
- オブジェクト名とフィールド名からスペースを削除します。
- すべてのテーブルに少なくとも 1 つの一意の制約またはインデックスを追加します。
- FORMAT() などの一部のネイティブ関数は、SQL Server にアップサイズされません。
準備ができたら、対象のMDBファイルを起動し、「ツール」メニューから「データベースユーティリティ」を選択し、「アップサイジングウィザード」を選択します。ウィザードでは2つの選択肢が表示されます。既存のデータベースを使用するか、全く新しいデータベースを作成するかです。後者を選択した場合、現在のMDBファイルはそのまま残るため、実際には2つのデータベースが作成されます。
ウィザードは、使用するサーバー、パスワードとログイン情報(必要な場合)、そしてアップサイズするテーブルに関する情報の収集を開始します。最終的に、図Aに示すペインが表示されます。これらの3つのオプションは、このセクションの冒頭で説明した3つのフロントエンドオプションに対応しています。この最終選択を行えば、完了です。新しいADPには多少の作業が必要になるかもしれませんが、適切に準備していれば、すぐに稼働できるはずです。
図A |
![]() |
SQL Server テーブルのフロントエンド ソリューションを選択します。 |
レベルアップ
使いやすいインターフェースを提供することは、あらゆるデータベースアプリケーション開発において重要な要素です。Accessを使えば、開発にかかる時間を短縮し、柔軟で信頼性の高いインターフェースを迅速に構築・運用できます。ユーザーやクライアントはあなたの才能に感銘を受け、そして最終的にはあなた自身もAccessに感銘を受けるでしょう。
Susan Sales Harkinsは独立コンサルタントであり、データベースとWebテクノロジーに関する記事や書籍を多数執筆しています。Martin WP Reidはクイーンズ大学ベルファスト校のアナリストで、長年データベースに携わっています。二人はApress社から『SQL: Access to SQL Server』を共著しています。Susanの最新著書はSybex社から『Mastering Dreamweaver MX Databases』 、Que社から『Absolute Beginner's Guide to Microsoft Access 2002』です。Martinの最新著書『Beginning Access 2002 VBA』はWrox Press社から出版されています。