リンクサーバーを利用して mdb ファイル内のテーブルを利用する
この記事は@IT さんの Database Expert 会議室に投稿した記事のフォローアップです。
シナリオと要件
今回は,[SQL Server] 上のテーブルと [Access mdb] 上に分散したテーブルに [UNION] をかけることを要件とします。
シナリオはあまり思い浮かびませんが, [Access mdb] にエクスポートされたデータと,現在のデータをつなげてレポートを作るなどでしょうか。
リンクサーバーを設定する




1 [セキュリティ]>[リンクサーバー] で右クリックして [新規リンクサーバー] を選択する。
2 [リンクサーバー] に 接続サーバー名として利用する名前を設定する(ここでは [TEST])。
3 [プロバイダ名] に [Microsoft Jet 4.0 OLEDB Provaider] を指定する。
4 [データソース] にリンクする mdb ファイルのファイルパスを指定する。
これで,[リンクサーバー]:[TEST] に mdb に格納されているテーブルが一覧されていることを確認します。
リンクサーバーを利用したクエリを組み立てる
分散クエリでは,FROM 句に
FROM [リンクサーバー名].[DB名].[オーナー名].[テーブル名]
を指定します。
SELECT [ID],[DATA] FROM TEST.dbo.TBLA
UNION
SELECT [ID],[DATA] FROM TEST...TBLB
とすることで,mdb ファイルに存在するテーブルを利用したクエリを構築することができます。
この例ではもっとも単純なリンクサーバーの利用の形態を実装しています。
この記事は Microsoft SQL Server 2000
Developer Edition Service Pack 4 に基づいて記述しています。