Как исправить ошибки многоэтапной работы OLE DB в службах SSIS? - PullRequest
23 голосов
/ 09 сентября 2008

Я пытаюсь создать пакет DTS для передачи данных между двумя базами данных на одном сервере, и я получаю следующие ошибки. Я читал, что ошибка, возникающая при многоэтапной операции OLE DB, может возникать при передаче данных между различными типами баз данных и при этом возникает потеря точности, но здесь это не тот случай Как проверить метаданные столбца?

Ошибка: 0xC0202009 в задаче потока данных, piTech [183]: ошибка OLE DB произошло. Код ошибки: 0x80040E21. Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL» Hresult: 0x80040E21 Описание: «Многошаговая операция OLE DB сгенерированные ошибки. Проверьте каждый OLE DB значение статуса, если доступно. Нет работы было сделано. ".

Ошибка: 0xC0202025 в задаче потока данных, piTech [183]: не удается создать OLE DB сбруя. Убедитесь, что столбец метаданные действительны.

Ошибка: 0xC004701A в задаче потока данных, DTS.Pipeline: компонент "ПиТек" (183) провалил фазу предварительного исполнения и вернул код ошибки 0xC0202025.

Ответы [ 11 ]

35 голосов
/ 01 октября 2011

Посмотрите на свойства полей (тип, длина, значение по умолчанию и т. Д.), Они должны быть одинаковыми.

У меня была эта проблема с SQL Server 2008 R2, потому что длина полей не равна.

9 голосов
/ 22 октября 2012

Эта ошибка встречается, когда исходная таблица содержит столбец TEXT, а целью является что-либо, кроме столбца TEXT. Это может быть пожиратель времени, если вы не сталкивались (или забыли!) С этим раньше.

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

3 голосов
/ 09 сентября 2008

Этот запрос должен идентифицировать столбцы, которые являются потенциальными проблемами ...

SELECT * 
FROM [source].INFORMATION_SCHEMA.COLUMNS src
    INNER JOIN [dest].INFORMATION_SCHEMA.COLUMNS dst 
        ON dst.COLUMN_NAME = src.COLUMN_NAME
WHERE dst.CHARACTER_MAXIMUM_LENGTH < src.CHARACTER_MAXIMUM_LENGTH 
2 голосов
/ 04 августа 2017

Эта проблема возникает главным образом из-за пустых строк в конце файла, удалите их и запустите задание.

0 голосов
/ 09 октября 2018

Для меня ответ состоял в том, что я передавал два параметра и выполнял задачу SQL, но только с использованием одного. Я проводил некоторое тестирование и закомментировал часть кода, используя второй параметр. Я забыл удалить отображение параметров.

Поэтому убедитесь, что в сопоставлении параметров указано правильное количество параметров, если вы используете задачу «Выполнение SQL».

0 голосов
/ 21 июня 2017

'-2147217887' message 'IDispatch error #3105' source 'Microsoft OLE DB Service Components' description 'Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.'."

Это то, с чем я тоже столкнулся. Проблема возникла из-за того, что я изменил свой поставщик SQLOLEDB.1 на SQLNCLI11 без , упоминая режим совместимости в строке подключения. Когда я установил DataTypeCompatibility=80; в строке подключения, я решил проблему.

0 голосов
/ 16 июня 2017

Также проверьте, нет ли в сценарии команд пакетного разделения (удалите операторы 'GO' в одну строку).

0 голосов
/ 07 ноября 2015

У меня эта ошибка при переносе CSV в MSSQL Я преобразовал столбцы в DT_NTEXT и некоторые столбцы в mssql, где установлено значение nvarchar (255).

установка их в nvarchar (max) разрешила его.

0 голосов
/ 26 июля 2013

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

0 голосов
/ 13 апреля 2010

У меня была похожая проблема, когда я переносил данные из старой базы данных в новую, я получил сообщение об ошибке выше. Затем я запустил следующий скрипт

SELECT * FROM [source].INFORMATION_SCHEMA.COLUMNS src INNER JOIN [dest].INFORMATION_SCHEMA.COLUMNS dst ON dst.COLUMN_NAME = src.COLUMN_NAME WHERE dst.CHARACTER_MAXIMUM_LENGTH < src.CHARACTER_MAXIMUM_LENGTH

и обнаружил, что мои столбцы немного отличаются с точки зрения размеров символов и т. Д. Затем я попытался изменить таблицу на новую структуру таблицы, которая не работала. Затем я перенес данные из старой базы данных в Excel и импортировал данные из Excel в новую БД, которая работала на 100%.

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