現在オフラインです。再接続するためにインターネットの接続を待っています

[HOWTO] SQL Server データ変換サービスを使用して Excel にデータを転送する方法

この記事は、以前は次の ID で公開されていました: JP319951
概要
SQL Server データ変換サービス (DTS) は優れたツールで、このツールを使用すると、OLE DB データ ソース間で容易にデータを転送できます。データを変換することを選択した場合は、転送処理中にデータを変換することもできます。この資料では、DTS インポート/エクスポート ウィザードを使用して、Microsoft SQL Server または別のデータ ソースから Microsoft Excel ワークシートにデータをエクスポートする方法について説明します。DTS デザイナで独自のデータ変換タスクを構成している場合も、この資料に記載された多くの同じ考慮事項が当てはまります。

先頭に戻る

必要条件

推奨されるハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack の概要は、次のとおりです。
  • 互換性がある Microsoft Windows オペレーティング システムにインストールされた Microsoft SQL Server 2000 または Microsoft SQL Server 7.0
  • MDAC Version 2.1 や 2.5、または別の製品によってインストールされた Microsoft Jet 4.0 とその関連ファイル
この資料は、少なくとも次のトピックに関して基礎的な知識のあるユーザーを対象としています。
  • SQL Server
  • データ変換サービス
  • Excel ワークシート
先頭に戻る

変換先ファイルの選択

  1. DTS インポート/エクスポート ウィザードを起動して、[データ ソースの選択] ページでデータ ソースを選択します。データ ソースを選択したら、[次へ] をクリックし、[変換先の選択] ページに移動します。
  2. 変換先データベースの種類として、[変換先] ボックスの一覧の [Microsoft Excel 97-2000] をクリックします。Microsoft Excel 2002 (Microsoft Office XP) に変換する場合でも、同じ種類の項目を使用します。
  3. [ファイル名] ボックスで参照ボタンをクリックし、既存の Excel ブック ファイルを指定します。ここで指定したファイルは、ウィザードが完了するまで Excel で開かないでください。コンピュータに Excel がインストールされている場合は、ウィザードを終了せずに、この時点で新しい Excel ファイルを作成できます。この操作を行うには、[ファイルの選択] ダイアログ ボックスでテキスト ボックスを右クリックし、[新規作成] をポイントして、[Microsoft Excel ワークシート] をクリックします。
先頭に戻る

変換先テーブルの選択

  1. [次へ] を 2 回クリックして [変換元テーブルとビューの選択] ページに移動し、[変換元] 列で Excel にエクスポートするテーブルとビューを選択します (複数のテーブルとビューを選択することもできます)。
  2. デフォルトでは、ウィザードにより、変換元テーブルと同じ名前の変換先テーブルが [作成先] 列に設定されます。

    : これにより、変換先ブックに同じ名前のワークシートと名前の範囲の両方が作成されます。ただし、DTS では、ほとんどの環境で名前の範囲を使用します。

    既存のワークシートまたは名前の範囲を選択することもできます (Sheet1$ のように、$ が後に続く名前がワークシート名です)。
  3. [変換] 列で参照ボタンをクリックします。表示されたダイアログ ボックスで、次のいずれかのオプションをクリックします。
    • 変換先テーブルを作成

      これは変換先テーブルが存在しない場合にのみ使用できるオプションです。変換先テーブルが既に存在する場合は、このオプションは使用できません。その場合、テーブルを削除して再作成する別のオプションが表示されます。
    • 変換先テーブル内の行を削除

      このオプションは、Excel で使用しようとすると失敗するため、使用できません。
    • 変換先テーブルに行を追加
  4. ウィザードの残りの手順で、DTS パッケージを保存および実行できます。新しいデータまたは変更したデータを定期的にエクスポートするには、ウィザードを終了する前にパッケージを保存し、必要に応じてパッケージのスケジュールを設定します。
先頭に戻る

トラブルシューティング

Excel ファイルの選択

  • DTS ウィザードが完了するまで Excel ブックを開かないでください。

Excel テーブルの選択

  • [変換先テーブルを削除後、再作成] チェック ボックスをオンにすると、パッケージの初回実行時にはテーブルが存在しないため、削除コマンドが失敗します。ただし、エクスポートは成功します。
  • [変換先テーブルを削除後、再作成] チェック ボックスがオフの状態で [変換先テーブルを作成] をクリックすると、テーブルが既に存在するため、作成コマンドはそれ以降の実行で失敗します。ただし、エクスポートは成功します。
  • たとえば、ウィザードで生成された CREATE TABLE ステートメントを Excel に対して実行すると、ワークシートと名前の範囲の両方が同じ名前で作成されます。ただし、DTS では、ワークシートを使用するように指定しない限り、名前の範囲が使用されます。Excel でこれらの名前の範囲を表示するには、[挿入] メニューの [名前] をポイントし、[定義] をクリックします。
  • OLE DB を使用して Excel ワークシートの行を削除できないため、[変換] ダイアログ ボックスで既存の行を削除および置換することはできません。
  • 変換先ワークシート内のエクスポートしたデータを手動で消去した場合、保存されている名前の範囲の定義がドライバで参照され、その定義が新しい行に対して展開されるため、データを再度エクスポートして、空白行の下に新しいデータを追加する必要があります。行を削除すると保存されている名前の範囲の定義が変更されるため、ワークシート内の古いデータのすべての行を削除した場合、この問題は発生しません。ただし、既存のデータを置き換えるには、[変換先テーブルを削除後、再作成] オプションを使用することをお勧めします。
先頭に戻る
関連情報
Excel をデータベースとして使用する際に発生する問題の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
257819 [HOWTO] Visual Basic または VBA から ADO を Excel データで使用する
DTS で Excel を使用する際に発生する既知の問題の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
236605 [PRB] DTS Wizで Excel の混合データが正しくインポートされない
281517 [PRB] DTS: Jet 4.0LEDB からの転送がバッファのオーバーフロー エラーで失敗
207446 [BUG] DTS: 256 列以上の Excel 97 シートをインポートできない

SQL Server DTS 機能の使用方法の詳細については、SQL Server Books Online の次の資料を参照してください。

「SQL Server から Excel への複雑な変換サンプル」
「DTS インポート/エクスポート ウィザードを使用した DTS パッケージの作成」
「DTS における異種データ型のドライバ サポート」

先頭に戻る
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 319951 (最終更新日 2003-12-12) を基に作成したものです。
プロパティ

文書番号:319951 - 最終更新日: 08/23/2005 08:49:02 - リビジョン: 3.3

  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • kbhowto kbhowtomaster KB319951
フィードバック