Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / long 2 varchar из dblink / 2 сообщений из 2, страница 1 из 1
17.10.2017, 14:08
    #39537494
Alex_SPD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
long 2 varchar из dblink
Сколько не рыл нормального решения не нашел.

Суть - грузим в аналитическую базу (oracle 11g) данные из mysql (через dblink и ODBC). В таблицах MySQL встречается тип LONG.
Меня устраивает обрезанный вариант этих полей, но как известно нормально в селектах работать с лонгами из дблинка невозможно и приходится брать их через цикл. А это чертовски долго.

Сейчас у меня вариант типа этого, но хотелось бы разогнать.

declare
a varchar;
begin
for b in (select "id","text" from "table"@dblink )
loop
a := substr(b.text,1,4000);
a := convert(a, 'CL8MSWIN1251', 'AL32UTF8');
update tablename set text=a where id=b.id;
ebd loop;
end;


Делать alter table в исходной базе не вариант, как и корячить свои вьюхи/процедуры.

В мечтах вставлять напрямую типа

insert into tablename (id, field1, field2, field_long_type)
select "id", "field1", "field2", "field_long_type" from "table"@dblink

Но как я понимаю это не возможно. Кстати, а в 12c лучше не стало?

Подскажите, куда копать?


P.S. Читаю, что можно использовать to_lob() при инсерте, но у меня не выходит. Если в оракловой таблице я делаю тип clob, то он говорит, что ожидался blob и наоборот. :)
...
Рейтинг: 0 / 0
17.10.2017, 16:52
    #39537624
Alex_SPD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
long 2 varchar из dblink
Сделал вариант через temporary table (в цикле пишу во временную таблицу, потом пачкой заливаю куда надо) - разогналось боле чем в 10 раз.

Но все равно как то через Ж. Нет ли варианта менее велосипедного?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / long 2 varchar из dblink / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]