[英]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
};
}
尚未完成,但我想檢查變量是否已存儲。 我使用調試器檢查了變量,在運行時檢查了變量的變化,但是如果我在執行后查看變量,則它仍然是相同的值。 我還檢查了屬性, ReadOnly
為False
,並且變量也添加到了程序包中。 對我做錯的任何想法嗎?
在斷點處停止后,在監視窗口中查看變量以獲取運行時值。 調試期間不會更新變量窗口。
編輯:根據您的評論忽略上述。 您可以隨時在包中(包括結尾)保存變量。 我建議您使用執行SQL任務執行以下操作:
Insert Into ImportedFiles (FileName, Imported) Values (?, getdate())
根據對問題的評論,您要確定文件是否以前導入過。 你可以做:
Select 1 From ImportedFiles Where FileName = ?
然后,基於該查詢,您可以設置邏輯以導入文件或跳過文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.