Select the product you need help with
SQL Server のリンク サーバーおよび分散クエリで Excel を使用する方法文書番号: 306397 目次概要
Microsoft SQL Server では、他の OLE DB データ ソースへの永続的またはアドホックな接続をサポートしています。永続的な接続はリンク サーバーと呼ばれ、単独のクエリのために作成されるアドホックな接続は分散クエリと呼ばれます。
Microsoft Excel ブックは、この方法で SQL Server を通じてクエリを実行できる OLE DB データ ソースの一種です。この資料では、Excel データ ソースをリンク サーバーとして構成するために必要な構文、および Excel データ ソースへのクエリを実行する分散クエリを使用するために必要な構文について説明します。 詳細リンク サーバー上の Excel データ ソースへのクエリを実行するSQL Server Management Studio または Enterprise Manager、システム ストアド プロシージャ、SQL-DMO (分散管理オブジェクト) または SMO (SQL Server 管理オブジェクト) を使用して、SQL Server のリンク サーバーとして Excel データ ソースを構成できます (SMO は Microsoft SQL Server 2005 の場合のみ使用できます)。いずれの場合も、必ず次の 4 つのプロパティを設定する必要があります。
注 : SQL Server 2005 を使用して Excel データ ソースを構成する場合、SQL Server Management Studio で "製品名" プロパティの値を指定するか、ストアド プロシージャで @srvproduct プロパティの値を指定する必要があります。 SQL Server Management Studio または Enterprise Manager を使用して Excel データ ソースをリンク サーバーとして構成するSQL Server Management Studio (SQL Server 2005)
Enterprise Manager (SQL Server 2000)
ストアド プロシージャを使用して Excel データ ソースをリンク サーバーとして構成する次のシステム ストアド プロシージャ sp_addlinkedserver を使用して、Excel データ ソースをリンク サーバーとして構成することもできます。SQL-DMO を使用して Excel データ ソースをリンク サーバーとして構成するSQL 分散管理オブジェクトを使用して、Microsoft Visual Basic または他のプログラム言語を使用して、プログラムで Excel データ ソースをリンク サーバーとして構成することができます。Enterprise Manager および SQL Server Management Studio で構成する場合に必要な引数と同じ 4 つの引数を指定する必要があります。SMO を使用して Excel データ ソースをリンク サーバーとして構成するSQL Server 2005 では、SMO (SQL Server 管理オブジェクト) を使用して、プログラムで Excel データ ソースをリンク サーバーとして構成することができます。プログラミングには、Microsoft Visual Basic .NET を使用することも、他のプログラム言語を使用することもできます。SQL Server Management Studio で構成する場合に必要な引数を指定する必要があります。SMO オブジェクト モデルは、SQL-DMO (分散管理オブジェクト) オブジェクト モデルが拡張され、置き換えられたものです。SMO は SQL Server 7.0、SQL Server 2000 および SQL Server 2005 と互換性があるため、SMO を使用して SQL Server 2000 を構成することもできます。リンク サーバー上の Excel データ ソースへのクエリを実行するExcel データ ソースをリンク サーバーとして構成した後、クエリ アナライザまたは他のクライアント アプリケーションから簡単に Excel データのクエリを実行できます。たとえば、Excel ファイルの Sheet1 に格納されているデータの行を取得するために、次のコードでは、SQL-DMO を使用して構成したリンク サーバーを使用します。次のクエリを使用して、Excel リンク サーバーで使用できるすべてのテーブルの一覧を取得することもできます。 分散クエリを使用して Excel データ ソースへのクエリを実行するSQL Server の分散クエリと OPENDATASOURCE 関数または OPENROWSET 関数を使用して、アクセス頻度の低い Excel データ ソースに対してアドホックにクエリを実行することができます。注 : SQL Server 2005 を使用している場合は、SQL Server セキュリティ構成を使用して Ad Hoc Distributed Queries オプションを有効にする必要があります。次に例を示します。
インストール可能な ISAM ドライバが見つかりませんでした。
関連情報
SQL Server リンク サーバーと分散クエリは OLE DB プロバイダを使用するため、この場合も Excel で ADO を使用する場合の一般的なガイドラインおよび注意事項が適用されます。
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
257819
SQL Server 管理オブジェクトの詳細については、次の MSDN (Microsoft Developer Network) Web サイトを参照してください。
(http://support.microsoft.com/kb/257819/
)
[HOWTO] Visual Basic または VBA から ADO を Excel データで使用する
http://msdn2.microsoft.com/ja-jp/library/ms162169(d=ide).aspx
Ad Hoc Distributed Queries オプションを有効にする方法の詳細については、次の MSDN Web サイトを参照してください。
(http://msdn2.microsoft.com/ja-jp/library/ms162169(d=ide).aspx)
http://msdn2.microsoft.com/ja-jp/library/ms189978(SQL.90,d=ide).aspx
(http://msdn2.microsoft.com/ja-jp/library/ms189978(SQL.90,d=ide).aspx)
プロパティ文書番号: 306397 - 最終更新日: 2011年5月10日 - リビジョン: 7.0
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。 | サポート技術情報の翻訳
|










