Как работать с каналом как данными в файле с разделителями - PullRequest
0 голосов
/ 22 февраля 2019

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

A|B|C 
"Jon"|"PR | RP"|"MN"
"Pam | Map"|"Ecom"|"unity"
"What"|"is"this" happening"|"?"

То есть, это разделитель канала и кавычки в качестве текстового спецификатора, но также есть канал и кавычки взначения данных.Я уже пробовал

Обновление на основе комментариев

Я пытался выбрать | в качестве разделителя и " в качестве текстового классификатора, но при попытке импортировать данные вOLEDB Destination Я получаю следующую ошибку:

не удалось найти разделитель столбца для столбца B

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Я на самом деле написал сценарий ac sharp, чтобы удалить начальную и последнюю кавычку и установить разделитель столбцов для кавычек ("|") в SSIS.Код был как ниже:

public void Main()
    {
        String folderSource = "path";
        String folderTarget = "path";

        foreach (string file in System.IO.Directory.GetFiles(folderSource))
        {
            String targetfilepath = folderTarget + System.IO.Path.GetFileName(file);
            System.IO.File.Delete(targetfilepath);
            int icount = 1;
            foreach (String row in System.IO.File.ReadAllLines(file))
            {
                if (icount == 1)
                {
                    System.IO.File.AppendAllText(targetfilepath, row.Replace("|", "\"|\""));

                }
                else
                {

                    System.IO.File.AppendAllText(targetfilepath, row.Substring(1, row.Length - 2));
                }
                icount = icount + 1;
                System.IO.File.AppendAllText(targetfilepath, Environment.NewLine);
            }
        }

        Dts.TaskResult = (int)ScriptResults.Success;
    }
0 голосов
/ 22 февраля 2019

Необходимо изменить свойство Column Delimiter на | (вертикальная черта), а свойство Text Qualifier на " в пределах Flat File Connection Manager

enter image description here

enter image description here

Если они все еще не работают, у вас есть несколько плохих строк в источнике плоских файлов, которые вы должны обработать, используя вывод ошибок:

...