3

SSIS パッケージを使用して、Excel スプレッドシートからデータベースに情報を読み込みたいのですが、スプレッドシートが変更されない場合、パッケージは正常に動作します。

このタスクの要件の 1 つは、ユーザーがスプレッドシートにコメントを追加できるようにすることです。スプレッドシートには既にコメント用の列があるため、ユーザーはその列にコメントを追加するだけです。

編集したスプレッドシートを保存してパッケージを実行すると、Excel ソースは外部列が同期していないことを報告し、さらに奇妙なことに、表示される列の数がMapping元のスプレッドシートよりも少なくなっています。

何が原因で、このパッケージを SSIS でスケジュールされたジョブとして自動的に実行できるように修正するにはどうすればよいですか?

4

3 に答える 3

1

問題が見つかりました: スプレッドシートの前にいくつかの小さな空の列がありました。私の推測では、ユーザーが情報を保存すると、これらの列が Excel (?) によって削除されるため、列が移動し、パッケージとの同期が失われます。

于 2012-05-01T17:17:58.213 に答える
1

列名への自動マッピングを削除してみてください。

Excel ソースには、最初の行に列名があるかどうかを選択するオプションがあります。マッピングを構成したら、それを false に設定します。問題は解決するはずですが、最初の行をデータ行として扱うため、変換が失敗するため、パッケージの失敗を回避するために出力エラーを構成するか、Excel ファイルから最初の行を何らかの方法で削除します。そのために条件付き分割を追加できます。

于 2012-05-01T16:44:33.007 に答える