0

私のSSISパッケージ(Sql 2008 R2)には、TransferObjectsTaskタスクがあり、このタスクにはDatabaseInfoCollectionタイプのDatabaseDetailsというプロパティがあります。私が探しているのは、このプロパティの値を指定するために、事前にスクリプトタスクで準備し、オブジェクトタイプの変数に保存してから、この変数をTransferObjectsTaskタスクのDatabaseDetailsプロパティに渡します。簡単ですね。

しかし、あなたがすでに推測しているように、私はこれを行うことはできません。式で変数を指定すると、次のようになります...

「式を評価できません/変数のデータ型が式でサポートされていません。」

どうすればこれを回避できますか?

式には変数名があるだけなので、文字通り「評価」するものは何もありません。変数を指定することさえできないのに、なぜタスクは式のプロパティを公開するのでしょうか?意味がありません。

何が足りないの?

ありがとう。

4

2 に答える 2

1

式でオブジェクトを参照することはできません。オブジェクト データ型が一般的すぎます。文字通り、何でもオブジェクト データ型にプッシュできます。100 個のデータベースのリストをオブジェクト変数 (配列にする) にプッシュし、その変数を oledb 接続マネージャーの InitialCatalog プロパティに渡すとします。接続マネージャーは、オブジェクトの処理方法がわからないだけでなく、わかっていたとしても、一度に 100 のデータベースに接続することはできません。

正確に何をしようとしていますか?私は TransferObjectsTask に精通していません (そして、製品が登場して以来、重要な SSIS 作業を行ってきました)。これはカスタム タスクですか? It's not included in the control flow tasks for SQL 2012. SQL Server オブジェクトの転送タスクがあります。それはあなたが言及しているものですか?もしそうなら、Powershell または Red Gate の SQL Compare のようなサード パーティ製ツールの方がはるかに優れたオプションです。SSIS は ETL に非常に優れています (抽出、バッファ内での変換、およびさまざまなソースと宛先との間で数百万/数十億のレコードをロードする)。ただし、管理タスクでは少し不器用です。バックアップ、スキーマ更新の展開、インデックスのメンテナンスなどの単純な管理タスクには使用しません。

于 2012-08-17T02:50:49.983 に答える
0

式にオブジェクトを追加しても意味がありません。オブジェクトの構造をどのように知ることができますか。

あなたがやろうとしていることをより具体的に言えますか?Transfer SQL Server Objects Taskは 、オブジェクトを転送元から転送先に転送するだけです。「DatabaseDetails」に何を設定しようとしていますか (このプロパティが見つかりませんでした)

于 2012-08-17T13:56:57.500 に答える