を使用SSIS
して、Excel ファイルを SQL Server にロードできます。
- 3 つの変数を作成します: File、City、Table
- City 変数の式を作成して、ファイルから City 部分を取得します。
- テーブルについても同じことを行います
- foreach ファイル列挙子を作成する
- File 変数に完全修飾名を割り当てます
- Excel ソースと ole db 宛先を含むデータ フロー タスクを作成する
- File 変数を使用して取得する Excel 接続を作成します。
- ole db 接続を作成し、それを ole db 宛先に割り当て、Table 変数を宛先テーブルとして選択します。
都市の式の例:
ファイル変数の内容: C:\temp\Dallas\Dallas_Trucks_2011.xls
SUBSTRING(@[User::File], FINDSTRING(@[User::File], "\\", 3) + 1, FINDSTRING(SUBSTRING(@[User::File], FINDSTRING(@[User::File], "\\", 3) + 1, 99), "_", 1) -1)
式は を返す必要がありDallas
ます。3 番目\
と 1番目の間の部分を取得します_
次の式は、1 番目と 2 番目Trucks
の間の部分を取得して返します。_
_
SUBSTRING(@[User::File], FINDSTRING(@[User::File], "_", 1) + 1, FINDSTRING(SUBSTRING(@[User::File], FINDSTRING(@[User::File], "_", 1) + 1, 99), "_", 1) -1)
データ フロー タスクに派生列を追加して、City を列として追加することもできます。
編集:実際には、これが動的な Excel ファイルとテーブル定義で機能することを 100% 確信しているわけではありません。