Установить типы данных для объекта диспетчера подключений служб SSIS, кроме как вручную / по одному? - PullRequest
2 голосов
/ 01 октября 2019

Наличие большого количества (TSV) файлов, которые необходимо импортировать (периодически) (через пакет служб SSIS) в существующие таблицы БД MSSQL. Получение многих проблем с типом данных из задач OLE DB Destination, например:

[Источник плоских файлов [2]] Ошибка: преобразование данных не выполнено. Преобразование данных для столбца «PRC_ID» вернуло значение состояния 2 и текст состояния «Значение не удалось преобразовать из-за потенциальной потери данных.».

и предложения типов от администраторов соединений длякаждая таблица из задач Flat File Source недостаточно точна, чтобы предотвратить ошибки при запуске пакета импорта (и типы БД являются правильными, поэтому не нужно просто создавать их все (ошибочно) строки для загрузки TSV).

enter image description here

Есть ли способ загрузить данные типа для столбцов в некотором отдельном файле, а не по одному в окне диспетчера соединений дляFlat File Source задач (это было бы очень неудобно, так как каждая таблица может иметь много полей)?

У меня есть операторы создания, которые использовались для создания каждой из таблиц, которым соответствуют TSV. Можно ли это использовать каким-либо образом? Может ли Flat File Source присущий тип данных для столбцов из его OLE DB Destination? Есть ли другие способы избежать необходимости устанавливать каждый тип вручную?

1 Ответ

1 голос
/ 01 октября 2019

Нет разницы между изменением типа данных столбцов из источника плоских файлов и сохранением всех типов данных в виде строк и связыванием их с назначением OLE DB (разные типы данных). Поскольку оба метода выполняют неявное преобразование данных, поскольку плоский файл является текстовым файлом и хранит все данные в виде текста (столбцы не содержат метаданных).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...