簡體   English   中英

SSIS腳本任務將DateTime存儲在變量中

[英]SSIS Script task storing DateTime in variable

我不確定為什么會發生這種情況,但是我的腳本任務不是將DateTime-Value存儲在變量中。 這是(到目前為止)我編寫的非常基本的代碼:

[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
    public void Main()
    {
        DateTime creationTime;
        DateTime modifiedTime;
        DateTime oldCreationDate = (DateTime)Dts.Variables["User::OldFileDate"].Value;
        DateTime oldModifiedTime = (DateTime)Dts.Variables["User::OldModifiedDate"].Value;

        Dts.Variables["User::OldFileDate"].Value = DateTime.Now;

        Dts.TaskResult = (int)ScriptResults.Success;
    }

    enum ScriptResults
    {
        Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
        Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
    };
}

尚未完成,但我想檢查變量是否已存儲。 我使用調試器檢查了變量,在運行時檢查了變量的變化,但是如果我在執行后查看變量,則它仍然是相同的值。 我還檢查了屬性, ReadOnlyFalse ,並且變量也添加到了程序包中。 變數 sis中的變量聲明 對我做錯的任何想法嗎?

在斷點處停止后,在監視窗口中查看變量以獲取運行時值。 調試期間不會更新變量窗口。

編輯:根據您的評論忽略上述。 您可以隨時在包中(包括結尾)保存變量。 我建議您使用執行SQL任務執行以下操作:

Insert Into ImportedFiles (FileName, Imported) Values (?, getdate())

根據對問題的評論,您要確定文件是否以前導入過。 你可以做:

Select 1 From ImportedFiles Where FileName = ?

然后,基於該查詢,您可以設置邏輯以導入文件或跳過文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM