問題の原因:
Arguments
[制御フロー]タブで使用可能な[プロセスタスクの実行]のプロパティは、ではなくデータ型の値を期待しています。DT_WSTR
DT_STR
問題と修正を示すSSIS2008R2パッケージ:
Business Intelligence Development Studio(BIDS)2008 R2でSSISパッケージを作成し、という名前を付けSO_13177007.dtsx
ます。次の情報を使用してパッケージ変数を作成します。
Name Scope Data Type Value
------ ------------ ---------- -----
IdVar SO_13177007 Int32 123

プロセス実行タスクを[制御フロー]タブにドラッグアンドドロップし、 [引数の受け渡し]という名前を付けます。
![[制御フロー]タブ](https://i.stack.imgur.com/q4clA.png)
[プロセスの実行タスク]をダブルクリックして、を開きますExecute Process Task Editor
。[式]ページをクリックし、 [式]プロパティに対して[省略記号]ボタンをクリックして、を表示します。Property Expression Editor

プロパティ式エディターで、プロパティを選択し、プロパティに対して省略記号ボタンをArguments
クリックしてを開きます。Expression Builder

式ビルダーで、次の式を入力してをクリックしますEvaluate Expression
。この式は、変数の整数値IdVar
を文字列データ型に変換しようとします。
(DT_STR, 10, 1252) @[User::IdVar]

[式の評価]をクリックすると、次のエラーメッセージが表示されます。これは、プロセスの実行タスクのArgumentsプロパティがデータ型の値を想定しているためですDT_WSTR
。

この問題を修正するには、以下に示すように式を更新して、整数値をデータ型に変換しますDT_WSTR
。[式の評価]をクリックすると、[評価値]テキスト領域に値が表示されます。
(DT_WSTR, 10) @[User::IdVar]

参照:
DT_STR
データ型とDT_WSTR
SSISの違いを理解するには、MSDNのドキュメントIntegrationServicesデータ型をお読みください。これらの2つの文字列データ型に関するドキュメントからの引用は次のとおりです。
DT_STR
最大長が8000文字のヌル終了ANSI/MBCS文字ストリング。(列の値に追加のnullターミネーターが含まれている場合、文字列は最初のnullの発生時に切り捨てられます。)
DT_WSTR
最大長が4000文字のnullで終了するUnicode文字列。(列の値に追加のnullターミネーターが含まれている場合、文字列は最初のnullの発生時に切り捨てられます。)