2

私は、Accessデータベースからテーブルを引き出し、SQL 2008 DBでの同じテーブルの作成を自動化し、データを新しいテーブルに移動する方法を考え出そうとしています。このプロセスは定期的に行われ、毎回異なるテーブルが存在する可能性があります。

私はこれを完全にSSISで行いたいと思います。

C#SQLCLRオブジェクトはオプションです。

私が遭遇した主な問題は、Accessテーブルのスキーマを取得し、それをSSIS経由で実行できるSQLスクリプトに変換する方法です。

何か案は?

TIA J

4

1 に答える 1

3

SSIS は実行時に新しいテーブルに適応できません。(接続を変更したり、ソースを別の名前のテーブルに移動したりできますが、スキーマは同じです)したがって、あなたが言っていると思うことを行うのは本当に簡単ではありません:Access DBのテーブルの任意のセットをSQLにアップサイズします(構造とデータのミラーリング、命名など) を行うことで、直接的な SQL を記述して、データを別の SQL データベースまたはデータベースの同じ部分に変換できます。

C# から SSIS オブジェクト モデルにアクセスし、プログラムでパッケージをビルド (またはテンプレート パッケージを変更) してから実行できます。これは費用対効果が最も高いかもしれませんが、SSIS オブジェクト モデルはちょっと奥が深いです。SSIS チームのブログは、ついに例の掲載を開始しました(私が自分で多くのことを理解しなければならなかった 1 年後)。

アップサイジング ウィザードは常にあり、サード パーティ製のツールもいくつかあると思います。

于 2009-02-02T19:31:23.633 に答える