0
在For循環容器中,我下載了一個包含腳本任務的文件,然後與另一個腳本任務一起檢查了它的大小。當我通過SSDT執行它時,在開發服務器上,它會成功執行。當我將它運行到與作業相同的服務器或臨時執行時,它會掛起(下載第一個文件後)。這兩個腳本任務都嘗試使用&捕獲,並通過SQL Server代理執行作業。日誌記錄爲DownloadFile腳本任務的ForLoop &顯示PreExecute,其餘爲Pre/post驗證。在腳本下方。有什麼想法嗎?程序包掛在腳本任務C#
#region Namespaces
using Microsoft.SqlServer.Dts.Runtime;
using System;
using System.Data;
using System.IO;
using System.Windows.Forms;
#endregion
namespace ST_7b3b944d502f476a871b7fa26cddac6e
{
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
public void Main()
{
try{
string file = Dts.Variables["User::v_Filename"].Value.ToString();
string Path = Dts.Variables["$Project::p_path"].Value.ToString();
FileInfo filesize = new FileInfo(file);
long size = filesize.Length;
if (size > 100)
{ Dts.Variables["User::EmptyFile"].Value = false;
}
else
{
Dts.Variables["User::EmptyFile"].Value = true;
}
}
catch (Exception ex)
{
throw ex;
}
}
#region ScriptResults declaration
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
#endregion
}
}
SQL代理作業是否與在SSDT中運行它的用戶一樣運行?當你在SSDT中運行它時,是在SQL Server上還是在不同的機器上?你使用映射驅動器還是UNC?下載的代碼是什麼樣的? –