SSIS-使用脚本任务在csv输出文件中将空值保留为null

时间:2016-08-08 14:17:12

标签: csv ssis script-task

我正在使用execute sql task来读取sql查询,然后脚本任务使用本网站上以下帖子中提到的方法将查询结果写入csv文件 -

SSIS:将记录集写入文件的脚本任务 (SSIS: Script task to write recordset to file)。 除此之外,我要求的是在查询结果为NULL的任何地方填充csv文件中的“null”。如何使用脚本任务实现这个????我还需要编写哪些附加代码?

1 个答案:

答案 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()));