SSIS脚本调试错误

本文关键字:错误 调试 脚本 SSIS | 更新日期: 2023-09-27 18:07:58

我是新的SSIS包,我试图创建一个SSIS脚本任务,创建一个空文件和文件名应该像"FileName__yyyymmdd__.csv"。我试图编译这段代码,但它需要很长时间来编译,甚至没有显示任何错误,但当我执行整个包时,包在脚本任务中失败。

下面的代码写在Main函数中:

    Dts.TaskResult = (int)ScriptResults.Success;
    String FileLoc="D:''Folder''" ;
    String BaseName="FileName__";
    DateTime dt= DateTime.Now;
    String yr= dt.Year.ToString();
    String mm= dt.Month.ToString();
    String dd= dt.Day.ToString();
    String FileName = BaseName + yr + mm + dd + "__"+".csv";
    File.Create(FileLoc+FileName).Dispose();
谁能指出这个错误?谢谢你。

SSIS脚本调试错误

文件名可以用一行生成。

同样,你可以在你的脚本任务中设置一个断点,然后在调试模式下执行这个包,选择这个包作为启动包。

你做错了几件事(或效率低下)。我已经修改了你的代码。试试下面的代码。它的工作原理。

在您的脚本.cs文件之上,您将需要以下using语句。

using System;
using System.IO;
using System.Globalization;

在你的main函数中,下面的代码是合适的。

string fileLocation = @"D:'Folder'" ;
string fileNamePrefix = "FileName__";
string filename = Path.Combine(fileLocation, fileNamePrefix 
                                   + DateTime.Today.ToString("yyyyMMdd", CultureInfo.InvariantCulture) 
                                   + "__.csv"); 
// This will print "D:'Folder'FileName__20160920__.csv". 
Console.WriteLine(filename);
// if file does not exist, create it.
if (! File.Exists(filename))
{
    using (StreamWriter sw = File.CreateText(filename))
    {
       // write data into file using sw.WriteLine(...) or something similar
    }
}
Dts.TaskResult = (int)ScriptResults.Success;

这是一个。net fiddle只是为它的c#部分。https://dotnetfiddle.net/UQRhqB