50個以上のExcelファイルがあり、それぞれをSQlサーバーの新しいSQLテーブルにインポートする場合は、テーブルの名前がExcelの名前ファイル SSISを使用してどのように達成できますか?各ExcelファイルをSSISを使用して新しいSQLテーブルにインポート
各ファイルには独自の列名があります。だから私は、フォルダ内の各ファイルをループし、新しいSQLテーブルに各ファイルのデータを取得する方法が必要です
50個以上のExcelファイルがあり、それぞれをSQlサーバーの新しいSQLテーブルにインポートする場合は、テーブルの名前がExcelの名前ファイル SSISを使用してどのように達成できますか?各ExcelファイルをSSISを使用して新しいSQLテーブルにインポート
各ファイルには独自の列名があります。だから私は、フォルダ内の各ファイルをループし、新しいSQLテーブルに各ファイルのデータを取得する方法が必要です
これはあなたに何ができるのか一般的な考えを提供します。
インポートファイルの各前に切り捨てステージングテーブルSQL Serverで
CREATE TABLE dbo.ExcelStaging
(LineId INT NOT NULL IDENTITY(1,1)
, FileLine VARCHAR(2000)
, FileName VARCHAR(50)
)
をステージング表を作成します。
スクリプトタスクを作成し、ファイルのすべての行を読み込み、ステージングテーブルcolume 'FileLine'に挿入します。 LineId = 1は、元のファイルの列ヘッダーを常に保持する必要があります。区切り文字、コンマ区切り、または固定幅を慎重に選択する必要がありますか?ファイルがあなたのテーブルにロードされたら
、SQLタスクを実行する - ストアドプロシージャ
。ファイル名とLineLid = 1のFileLineに基づいて、新しいSQLテーブルを作成します。新しいテーブルは醜く見えるかもしれません。各フィールドのデータ型がわからないため、すべての列データ型はvarcherです。
b。新しいテーブルに挿入するFileLineの部分文字列をステージングテーブルの列として選択します。ここで選択するデリミタによって、各列の部分文字列の方法が決まります。
良いアイデアだが、私は列のデータ型をExcelと同じに保つ必要がある – LattaliAhmed
いいえ、ファイルをインポートする前にテーブルを作成する必要があります。ファイル名とファイル内容の最初の行を読み取ることにより、どのデータ型がどのように決定されますか? – Wendy
SQLサーバーのインポート/エクスポートウィザードでこれを実行できますが、私の目標は各テーブルを手動で作成せずにSSISで同じことを行うことです。 – LattaliAhmed
これはあなたを助けるかもしれません:https://www.codeproject.com/Articles/368530/Dynamic-Excel-file-with-SSIS –
これは興味深いですが、これは私が探しているものではありません – LattaliAhmed
BIMLを学ぶのが早いか、手作業で各データフローを手早く作成して作成するかによって、BIMLの仕事になります。 –