我正在使用execute sql task来读取sql查询,然后脚本任务使用本网站上以下帖子中提到的方法将查询结果写入csv文件 -
SSIS:将记录集写入文件的脚本任务 (SSIS: Script task to write recordset to file)。 除此之外,我要求的是在查询结果为NULL的任何地方填充csv文件中的“null”。如何使用脚本任务实现这个????我还需要编写哪些附加代码?
答案 0 :(得分:0)
有几种方法可以做到这一点,但答案是在foreeach数据行循环中的Persist()
中:
foreach (System.Data.DataRow row in table.Rows)
{
// TODO: For string based fields, capture the max length
IEnumerable<string> fields = (row.ItemArray).Select(field => field.ToString());
file.WriteLine(string.Join(delimiter, fields));
}
您必须在lambda表达式中测试db null。虽然我没有测试过,但这应该可行:
IEnumerable<string> fields = (row.ItemArray).Select(field => ((field == DBNull.Value) "NULL" : field.ToString()));