2017-04-04 8 views
2

感謝のインポートSSIS2005:、一貫性のないメタデータを持つ複数のXLファイル/シートから誰でも提供することができます任意の助けを事前に

(序文:私はすでにTypeGuessRowsレジストリの微調整に精通しているんだ(私はそれが0に設定されている。XL

  • クライアント送られた10個のxlsxファイルを、1:全体列のデータ型を決定する)とIMEX = 1の拡張プロパティ(I)は、デフォルトでこれを使用)

    私はクライアントのために継続的なプロジェクトを始めていますがスキャン1年当たり。

  • すべてではないにしても、ほとんどのファイルには12枚... 1枚/月があります。
  • すべてのファイル内のすべてのシートは、まったく同じ列ヘッダーを持つ同じ列数を全く同じ順序で持っています。
  • クライアントは、今後3年間に定期的に新しいデータを(おそらく同じフォーマットで)送信します。

複数のXLファイルをループすると、複数のXLシートをループすることは問題になりません。私はこれまで何度もやってきました。 XLファイル用の私のSSISテンプレートは、デフォルトでそのように設定されています。

問題は、列のデータ型がシートごとに変更できる場合です。例えば、ほとんどのシート上の日付列:

  • なしNULL /ブランク日付
  • M/D/YYYY
  • XL/SSISは日付[DT_DATE]データ型
  • を割り当てるようにフォーマットされたすべての日付

...しかし、同一ファイル内のいくつかのシートに、同じ日付列...

  • ませんNULL /空白の日付M/D/YYYYとして
  • いくつかの日付をフォーマット
  • ほとんどの日付が一般/数としてフォーマット(2002年11月15日= 37575)
  • XL/SSISはUnicode文字列[DT_WSTR]データ型
を割り当て

私が間違っていない場合、SSISパッケージを実行すると、データ型が変更されたときにエラーがスローされます。

は、それが可能に力入ってくるの列のデータ型( OLE DBソース> 入力と出力特性のための高度なエディタシート> 入力と出力ペイン> OLE DBソース出力> 外部列はあります)をUnicodeに変換して、XL/SSISがデータ型を変更したいときに、パッケージはエラーにならないでしょうか?これは、同じ一貫性のない書式が表示される場合に備えて、現在のファイルと今後のファイルをすべて収容します。

または私はどちらかに強制しています:日付フォーマットに

  • 変更のすべての一般的な/番号形式の日付をので、私は2つの別々に1つのSSISパッケージ
  • セパレートすべて一貫フォーマットされ、一貫性のないフォーマットされたシートをインポートすることができます2つの異なるSSISパッケージもう一度

で、インポートするグループ、誰でも提供することができます任意の助けてくれてありがとう、

CTB

答えて

0

別のデータ型からの切り替えは単なる警告、エラーをスローしないだろう...少なくとも[DT_DATE]から[DT_WSTR]と背面に表示されます。

IはOLE DBソースの着信列のデータ・タイプを強制することができませんでしたが、私は、OLE DBソース用(詳細エディタ[DT_WSTR] に発信列のデータ型を設定することができました>OLE DBソース出力>入力と出力プロパティシート>入力と出力ペイン>出力列)。そのようにして、その列のすべての日付は、そのソースに関係なく、データフロー内でユニコードテキストとして認識されました。

これはやっているようでした。私は両方のタイプのシート/ファイルをインポートするために1つのインポートパッケージしか必要としませんでした。

私はこれが将来他の誰かに役立つことを願っています。

関連する問題