0

スクリプト コンポーネントからシステム変数を読み取る最良の方法は何ですか。

以下のように試してみました: ユーザー変数の場合は正常に動作します

    base.PreExecute();
    IDTSVariables100 variables = null;
    VariableDispenser.LockForRead("System::ContainerStartTime");
    VariableDispenser.GetVariables(out variables);
    auditTimeStamp = Convert.ToDateTime(variables[1].Value);
    System.Windows.Forms.MessageBox.Show(auditTimeStamp.ToString());
    variables.Unlock();

システム変数を読み取ろうとすると、次のエラーがスローされます。

スクリプト コンポーネントでユーザー コードで例外が発生しました: プロジェクト名: SC_0bfc7da1c6fe4b83bc124b87eb4178e5 HRESULT からの例外: 0xC0010009

Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVa​​riables100.get_Item(オブジェクト インデックス) で ScriptMain.PreExecute() で Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PreExecute()

手がかりをください。

ありがとう

4

3 に答える 3

0

システム変数を参照する式として評価されるユーザー変数を作成できます。このようなもの

@[System :: PackageName].
于 2010-01-30T23:25:56.133 に答える