Вопрос

Каков наилучший способ удалить символы из плоских файлов в SSIS?В моем случае мне нужно удалить все кавычки из файла перед обработкой.

Редактировать:
Как я могу запустить исполняемый файл для некоторых файлов из SSIS?Могу ли я каким-то образом использовать исходное соединение в качестве входных данных или мне придется передавать имена файлов в качестве параметров?

Это было полезно?

Решение

Самый простой способ сделать это - создать компонент сценария "Преобразование" и использовать код для удаления кавычек.

Другие советы

Я сделал это, используя Derived Column Transformation

например ,Если я хочу заменить ', " " , # в ssis, используя производный столбец, я бы написал

Replace(Replace(REPLACE(name,"$"," "), "'", " ")," ","")

Но я чувствую, что, если необходимо отфильтровать 1 или 2 столбца, то такой подход хорош.Если это включает в себя нечто большее, то продолжайте с Script task

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

Вы можете написать свой собственный .СЕТЕВОЙ скрипт и внедрить его в задачу скрипта.Вы также можете вызвать сторонний инструмент или компонент через задачу процесса выполнения.

Например, если у вас есть доступ к командной строке cygwin unix, что-то вроде этого должно выполнить эту работу:

sed s/\"//g data1.txt

Вы можете вызвать исполняемый файл через упомянутый компонент "Выполнить задачу процесса", и вы можете параметризовать его входные данные, задав выражения для атрибутов компонента.Эти выражения могут быть основаны на входных переменных, которые могут быть настроены с помощью файлов конфигурации.(это лишь один из многих способов, предоставляемых SSIS для достижения чего-то подобного)

Если я правильно понял ваш вопрос, вы хотели бы удалить любые кавычки из любого значения столбца, находящегося в вашем текстовом файле?Если это так, вы бы использовали производное преобразование столбца.Вы бы выбрали Заменить "column_name" в раскрывающемся списке Производное имя столбца.Затем вы бы заполнили свойство expression следующим кодом:ЗАМЕНИТЬ( "\"", [имя_столбца] , "")

Надеюсь, это поможет.

Оба решения unclepaul84 и Райана Фоннеттса сработали бы, но лично я больше склоняюсь к unclepaul's, потому что обнаружил, что у меня есть несколько файлов, из которых нужно убрать кавычки, и я могу использовать один и тот же код преобразования для каждого (что приятно).

Это решения, но я считаю, что есть более простая функциональность, встроенная прямо в диспетчер плоских файловых подключений.

На первой вкладке "Общие" вы найдете первое текстовое поле в разделе "Формат", называемое "Квалификатор текста".Введите здесь одну двойную кавычку (или одинарную кавычку, если все столбцы заключены в одинарные кавычки) и нажмите на предварительный просмотр.

Это должно решить вашу проблему!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top