|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
Скажите пожалуйста, как правильно перекинуть 170 млн. записей из Oracle в MSSQL, чтобы не появлялись ошибки типа: too long internal buffer ? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 23:04 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
vah, это не ошибка SSIS пакета, это трансляция ошибки из драйвера oracle. Вам на саммом деле скорее всего больше подскажут в ветке Oracle касательно ошибки ORA-01877. Обычно такое встречается с конвертацией типов дат в строки, посмотрите на предмет каких нибудь приведений. если данные напрямую тянете из таблицы возможно есть смысл сделать view с явным приведением к строковым типам фиксированной длинны. add: судя по гуглу чаще всего пишут Cause: This is an internal error. Action: Please contact Oracle Worldwide Support. и без шаманства вам не обойтись ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 00:15 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
vah, проверьте размер поля выводимых данных из Oracle. Напишите тут. Подумаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 06:21 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
Скорее всего проблема в семантике byte/char. Посмотрите кодировку на источнике и тип поля в который ssis пытается это вычитать. Вероятнее всего надо будет поставить DT_WSTR и проверить значение переменной среды NLS_LANG, влияющей на перекодировку типа VARCHAR2 для ораклового драйвера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 09:48 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
vah, SSIS может качать огромные объемы, если все правильно настроено. https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1173110&msg=18091868 В вашем случае, выдана ошибка ORACLE на стороне ORACLE. То есть данные просто не смогли быть сформированы в источнике. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 12:42 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
a_voronin, Лёх, вот тут ты не совсем прав. Такую ошибку чаще всего ловит именно клиент, когда в таблице размер определён в семантике char, а клиент пытается вытащить это в такое же количество byte. Но без описания таблицы источника и маппинга на поля датасорса спорить не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 14:48 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
env Такую ошибку чаще всего ловит именно клиент, когда в таблице размер определён в семантике char, а клиент пытается вытащить это в такое же количество byte. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 20:15 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
Какой драйвер Оракл? Atunity Connector используется? https://docs.microsoft.com/en-us/sql/integration-services/attunity-connectors?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2020, 16:11 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
alexeyvg, Под клиентом в данном случае подразумевается тот механизм доступа, который использован для создания соединения. Что именно там под капотом - oledb driver, odbc, attunity, прямое использование библиотек ораклового клиента - из картинки понять трудно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 11:36 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
env alexeyvg, Под клиентом в данном случае подразумевается тот механизм доступа, который использован для создания соединения. Что именно там под капотом - oledb driver, odbc, attunity, прямое использование библиотек ораклового клиента - из картинки понять трудно. Как я понимаю, если бы ошибка было выше уровня оракла, либо его клиентских драйверов доступа, ошибка бы этот оракловский код не содержала. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:10 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
alexeyvg env alexeyvg, Под клиентом в данном случае подразумевается тот механизм доступа, который использован для создания соединения. Что именно там под капотом - oledb driver, odbc, attunity, прямое использование библиотек ораклового клиента - из картинки понять трудно. Как я понимаю, если бы ошибка было выше уровня оракла, либо его клиентских драйверов доступа, ошибка бы этот оракловский код не содержала. Это точно до SSIS, иначе мы бы получили бы что-то такое. SSIS - The value is too large to fit in the column data area of the buffer. https://stackoverflow.com/questions/24420071/ssis-the-value-is-too-large-to-fit-in-the-column-data-area-of-the-buffer И судя по некоторой информации происходить она может и без драйвера. https://www.sql.ru/forum/904268/vremyadata-i-ora-01877 https://www.dba-village.com/village/dvp_forum.OpenThread?ThreadIdA=27764 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 08:24 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
alexeyvg, a_voronin, Да, код ошибки явно показывает, что проблема возникает на стороне "клиентских драйверов оракла". Мой посыл в том, что причиной ошибки является "настройка" этих "клиентских драйверов". И в SSIS чаще всего причиной появления подобной ошибки является несовпадение семантики byte/char на источнике и приёмнике. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 08:31 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
env alexeyvg, a_voronin, Да, код ошибки явно показывает, что проблема возникает на стороне "клиентских драйверов оракла". Мой посыл в том, что причиной ошибки является "настройка" этих "клиентских драйверов". И в SSIS чаще всего причиной появления подобной ошибки является несовпадение семантики byte/char на источнике и приёмнике. А по какому признаку вы отчитаете ошибку на уровне драйвера от ошибки на уровне самого Оракл? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 09:05 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
a_voronin, По достаточно долгому личному опыту работы как с Oracle, так и SSIS. Одна из причин подобных ошибок - трансляция маппинга однобайтовой строки DT_STR в датасорсе SSIS на уровень клиентского драйвера. Вторая - некорректная настройка NLS_LANG, задающая однобайтовую кодировку для varchar2, при дефолтной многобайтовой на уровне бд. Да, возможно получить такое и на уровне чтения, например, из вьюхи или прямым запросом при наличии неявных преобразований типов. Поэтому envбез описания таблицы источника и маппинга на поля датасорса спорить не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 09:49 |
|
SSIS 170 млн. записей
|
|||
---|---|---|---|
#18+
env, если вы правы и причина в этом ( поля VARCHAR(byte) а пишутся CHAR ) то можно попробовать отловить ту запись в оракле где длина превышает порог ( проблема конечно что полей VARCHAR (CHAR) м.б много - и придется искать по всем ) и прогнать с условием в сорсе на 1 запись если это действительно та причина - то он свалится и на одной записи. Но вначале да надо глянуть оракл. настрокйи NLS_CHAR_CHARACTERSET NLS_LANG ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 13:32 |
|
|
start [/forum/topic.php?fid=46&msg=39973440&tid=1685936]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 160ms |
0 / 0 |