我有一個SSIS包會從一組Excel文件加載數據,然後將這些文件歸檔到指定的文件夾。執行腳本任務拋出錯誤「包執行返回DTSER_FAILURE(1)」
Excel的文件存儲在一個文件夾,並且該文件夾裏面我有存檔文件夾。
下面是引用我的腳本任務的代碼。
public void Main()
{
// TODO: Add your code here
string sourceDir = Dts.Variables["User::strFilePath"].Value.ToString();
string destDir = Dts.Variables["User::strArchivePath"].Value.ToString();
DirectoryInfo di = new DirectoryInfo(sourceDir);
string[] sDirFiles = Directory.GetFiles(sourceDir);
FileInfo[] fi = di.GetFiles("*.xls");
int fileCnt = fi.Length;
for (int i = 0; i < fileCnt; i++)
{
String filename = fi[i].Name;
string[] splitFilename = filename.Split('.');
DateTime dt = DateTime.Now;
string ArchiveDate = String.Format("{0:ddMMMyyyy}", dt);
string sourceFileName = filename;
string sourceFilePath = sourceDir + filename;
string destinationFileName = splitFilename[0] + '_' + ArchiveDate + '.' + splitFilename[1];
string destinationPath = destDir + destinationFileName;
//MessageBox.Show("Source File " + sourceFilePath + " to destination " + destinationPath);
if (File.Exists(destinationPath))
File.Delete(destinationPath);
// To move a file or folder to a new location:
System.IO.File.Move(sourceFilePath, destinationPath);
}
Dts.TaskResult = (int)ScriptResults.Success;
}
sourceDir和destDir是提供源文件文件夾和歸檔文件夾路徑的變量。當我從Visual Studio運行它時,該包工作正常。
我已經部署了其爲使用部署工具創建清單文件運行作業。當我運行這個工作時,我的檔案腳本任務出現錯誤。下面是它的截圖。
我搜索解決方案,但是計算器所提供的解決方案並沒有解決我的問題。
Problem using SQL Agent to run SSIS Packages - fails with 「DTSER_FAILURE(1)」
DTSX package runs in Visual Studio but not when called from a Database Job
我已經授予了這兩個文件夾SQL服務器讀寫訪問。仍然得到相同的錯誤?
任何幫助,高度讚賞。
是您的數據庫服務器或SSIS服務器上安裝Excel?Excel和SSIS令人頭痛等待發生。盡你所能將文件轉換爲平面格式。 – saarrrr
@saarrrr我沒有與Excel的任何問題,因爲我的任務與Excel相關的工作正常工作,他們需要的方式。我只在上面的腳本任務中遇到問題。 –