У вас есть довольно много вариантов, но некоторые из них, очевидно, будут нежелательны или невозможны для выполнения из-за вашей ситуации.
Во-первых, я предположу, что конечные пробелы в данных - потому что типы данныхисходными столбцами являются CHAR или NCHAR.Вы можете изменить типы данных в исходной базе данных на VARCHAR или NVARCHAR.Это, вероятно, не очень хорошая идея.
Если в исходных данных используются типы данных VARCHAR или NVARCHAR, а в данных имеются конечные пробелы, вы можете обновить данные, чтобы удалить конечные пробелы.Это, вероятно, тоже не привлекательно.
Итак, у вас есть SSIS, и лучшее место для этого - поток данных.К сожалению, вы должны разработать решение для каждого столбца, который имеет конечные пробелы.Я не думаю, что вы найдете быстрое и простое решение «исправить все столбцы».
Вы можете выполнить обрезку данных с помощью преобразования скрипта, но вы должны написать код, чтобы выполнить работу.Или вы можете использовать компонент преобразования «Производный столбец».В преобразовании «Производный столбец» необходимо добавить производный столбец для каждого столбца, который необходимо обрезать.Например, у вас будет столбец с именем и столбцом с фамилией.Производное значение столбца заменит существующее значение столбца.
В преобразовании «Производный столбец» для обрезки данных будет использоваться синтаксис выражения SSIS.Выражения обрезания имени и фамилии будут иметь вид
RTRIM(firstname)
RTRIM(lastname)
Производительность, вероятно, будет лучше для преобразования «Производный столбец», но может не сильно отличаться от решения сценария.Однако преобразование «Производный столбец», вероятно, будет легче читать и понимать позже.