SQL Server OPENROWSET 関数で Access のデータ (.mdb ファイル) を参照するには

SQL Server では、OPENROWSET 関数を利用すると、Access のデータを参照することができます。これは次のように利用します。

-- アドホック クエリの有効化
EXEC sp_configure 'show advanced options', 1
RECONFIGURE 
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE

-- OPENROWSET 関数で、Northwind.mdb ファイルの社員テーブルを参照
SELECT * FROM
 OPENROWSET('Microsoft.Jet.OLEDB.4.0'
    , 'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';'admin';''
    , 'SELECT * FROM 社員')

-- アドホック クエリの無効化
EXEC sp_configure 'Ad Hoc Distributed Queries', 0
EXEC sp_configure 'show advanced options', 0
RECONFIGURE


OPENROWSET 関数は、Express Edition でも利用できます(Express Edition では Integration Services を利用できないので、この関数が役立ちます)。
OPENROWSET の詳細(ヘルプ)はこちらから
http://msdn.microsoft.com/ja-jp/library/ms190312.aspx


なお、何度も同じ .mdb ファイルをクエリする場合には、リンク サーバーを作成しておくと便利です。