SQL Server OPENROWSET 関数で Excel ファイル(.xls ファイル)を参照するには
SQL Server では、OPENROWSET 関数を利用すると、Excel 2003 のファイル(.xls ファイル)を参照することもできます。これは次のように利用します。
-- アドホック クエリの有効化 EXEC sp_configure 'show advanced options', 1 RECONFIGURE EXEC sp_configure 'Ad Hoc Distributed Queries', 1 RECONFIGURE -- OPENROWSET 関数で、Shohin.xls ファイルの Sheet1 を参照 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0' , 'Excel 8.0;Database=C:\Shohin.xls;' , 'SELECT * FROM [Sheet1$]') -- アドホック クエリの無効化 EXEC sp_configure 'Ad Hoc Distributed Queries', 0 EXEC sp_configure 'show advanced options', 0 RECONFIGURE
Excel の場合も、Access のときと同じプロバイダ(Microsoft.Jet.OLEDB.4.0)を指定します。ファイルパスの部分は、「Excel 8.0;Database=xlsファイルへのパス」と記述します。OPENROWSET 関数は、Express Edition でも利用できます(Express Edition では Integration Services を利用できないので、この関数が役立ちます)。
OPENROWSET の詳細(ヘルプ)はこちらから
http://msdn.microsoft.com/ja-jp/library/ms190312.aspx
なお、何度も同じ .xls ファイルをクエリする場合には、リンク サーバーを作成しておくと便利です。