Конвертировать столбец Oracle CLOB в Microsoft SQL varchar max - PullRequest
0 голосов
/ 12 сентября 2018

Меня попросили в моем текущем проекте преобразовать нашу существующую базу данных Oracle в базу данных Microsoft SQL.

У меня нет проблем с большинством данных, но у меня проблемы с определенным столбцом.

У меня есть таблица со столбцом CLOB и примерно 10 000 000 записей.

Я пытался сгенерировать скрипты с запросами на обновление:

UPDATE DATABASE.TABLE SET CLOBCOLUMN = (CLOBCOLUMN + 'First part');
UPDATE DATABASE.TABLE SET CLOBCOLUMN = (CLOBCOLUMN + 'Added part');

В конце я сгенерировал около 100 ГБ скриптов для выполнения.

Я пытался выполнить эти сценарии, используя sqlcmd:

echo off
set ScriptDir=<Directory with all scripts>
set MSQLAccount=<Connexion account>

FOR /L %%G IN (1,1,<last script number>) DO (
   sqlcmd -S %MSQLAccount% -i %ScriptDir%\script_%%G.sql 
)

pause

Это решение работает, но оно занимает бесконечное время: Только 14 записей обновляются за 5 минут ==> Это займет около 8 лет.

Есть ли другое решение, которое поможет мне добавить эти значения CLOB из Oracle в столбец Microsoft SQL varchar (max)?

Заранее спасибо.

...