OK ...比較的シンプルなSSISパッケージ(DTSDesigner100、Visual Studio 2008バージョン9.0.30729.4462 QFE、 .NET Framework 3.5 SP1)。パッケージのSSIS制御フローの最後に、ファイルシステムタスクがあります。ファイル名を変更操作です。次のようにこのファイルシステムタスクのSSISファイルシステムタスクエラー:変数に割り当てられている値のタイプ...現在の変数タイプと異なる
プロパティは次のとおりです。
- IsDetinationPathVariable:真
- DestinationVariable:ユーザー:: OUTPUTFILENAME
- OverwriteDestination:真
- 説明:
- システムタスクファイル操作:ファイル名の変更
- IsSourcePathVariable:False
- SourceConnection:エクセルテンプレートのコピー先
には定義された式ではありません。ご覧のとおり、Destinationには変数User :: OutputFileNameが割り当てられています。それでは、その変数を見てみましょう...
- 名:OUTPUTFILENAME
- 範囲:パッケージ
- データ型(ValueTypeに):文字列
- 値:
- ネーム:ユーザー
- EvaluateAsExpression: True
- ReadOnly:False
。
"\\\\SERVER\\Folder\\" + "MyAwesomeExcelWorkbook_"
+ (DT_WSTR,4)DATEPART("year", GETDATE())+ "-"
+ RIGHT("0" + (DT_WSTR,2)DATEPART("mm", GETDATE()), 2) + "-"
+ RIGHT("0" + (DT_WSTR,2)DATEPART("dd", GETDATE()), 2) + "-"
+ RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()), 2) + "-"
+ RIGHT("0" + (DT_WSTR,2)DATEPART("mi", GETDATE()), 2) + "-"
+ RIGHT("0" + (DT_WSTR,2)DATEPART("ss", GETDATE()), 2)
+ ".xlsx"
この式を正常に評価できます。パッケージが実行され(そして失敗するたびに)、評価された式の値は期待通りです。
私はパッケージを実行すると、ここで何が起こるかだ...
- は、前の手順が正常に実行されます。
- ファイルシステムタスクが開始され、ファイルの名前が変更されます。
:ファイルシステムタスクは、次のエラーで失敗したので、
Error: 0xC001F009 at Package: The type of the value being assigned to variable "User::OutputFileName" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.
Task failed: Rename Excel Workbook
Error: 0xC0019001 at Rename Excel Workbook: The wrapper was unable to set the value of the variable specified in the ExecutionValueVariable property.
Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (4) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package "Package.dtsx" finished: Failure.
私はここで忘れているようです。今、私は式全体をDT_WSTR、512としてキャストしようとしましたが、それはちょうど良いと評価されますが、File System Taskは同じエラーで失敗します。
私が見落としている細部を指摘できる人は誰ですか?前もって感謝します。
これはまったく意味がありません。私は、2つの異なるタスクで使用される変数が必要です。とにかく、あなたの答えをありがとう。私は別の回避策を見つけるのを手伝ってくれました。 – celerno