SSIS — сохранение нулевых значений как нулевых в выходном файле csv с помощью задачи сценария

Я использую задачу выполнения sql для чтения запросов sql, а затем задачу сценария для записи результатов запроса в файлы csv с использованием метода, упомянутого в следующем сообщении на этом сайте:

SSIS: задача сценария для записи набора записей в файл (SSIS: задача сценария для записи набор записей в файл). В дополнение к этому, мне нужно, чтобы в CSV-файлах заполнялось значение «null», где результат запроса равен NULL. Как добиться этого с помощью задачи сценария???? Какой дополнительный код мне нужно написать??


person Ashish Allan Mathew    schedule 08.08.2016    source источник


Ответы (1)


Есть несколько способов сделать это, но ответ находится в Persist() в цикле foreeach data row:

       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));
        }

Вы должны проверить db null в своем лямбда-выражении. Это должно работать, хотя я не тестировал:

IEnumerable<string> fields = (row.ItemArray).Select(field => ((field  == DBNull.Value) "NULL" : field.ToString()));
person Matt    schedule 08.08.2016