1

ユーザーに、使用するデータベース パスを入力してもらいたいと考えています。

例: @SourceDB = DatabaseA.dbo。

次に、データ フローまたは SQL 実行タスクで変数を使用したいと考えています。

私の質問: これら 2 つのタスクで変数を参照するにはどうすればよいですか? これらの方法のどちらも私にとってはうまくいかないようです:

SELECT Field1, Field2 FROM @SourceDB + tablename

また

"SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename"

また

SELECT Field1, Field2 FROM ? tablename
4

1 に答える 1

1

パラメータとして使用することはできません?。他の人がそれをやろうとして、あなたが経験していることに出くわしました。

私がすることは、変数を定義することです。それを SourceQuery と呼びます。データ型は String で、スコープはパッケージ レベルです。その変数のプロパティ ウィンドウ (F4) で、EvaluateAsExpression プロパティを True に変更します。次に、すでに指定したように式で式を使用します。 "SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename"

最後に、OLE DB Sourceテーブルまたはビューへのアクセスモードを「変数からのSQLコマンド」に変更すると、うまくいくはずです。

注意すべき 1 つの注意点は、これらの列のデータ型が変更された場合、SSIS パッケージが検証ステップに失敗することです。

于 2013-04-12T18:54:30.647 に答える