Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт данных со стороны 
:(
    Опции темы
gurant
Дата 13.2.2007, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.2.2007

Репутация: нет
Всего: нет



Всем здравствуйте!
Скажу сразу - в Oracle ламер. Работаю по необходимости

Есть задача. Заливать на Oracle данные из разных баз данных. 
Задачу решил, но мне не наравится решение. Сейчас я все делаю через выполнение SQL-запросов, т.е. создаю таблицу через "create table ...", а заливаю данные "insert into ..." по 1 записи.
Все работает, но жутко медленно. Таблица с   3786 записями заливатся ~6,5 минут.
Работаю через ADO:

Код

this.goCn = CreateObject('ADODB.CONNECTION')
this.goCm = CreateObject('ADODB.COMMAND')
this.goRs = CreateObject('ADODB.RECORDSET')
this.goCn.open("Provider=OraOLEDB.Oracle;Data Source="+_DSN_name+;
                     ";User ID="+_login+";Password="+_password+";PLSQLRset=1;DistribTX=0;")

У меня два вопроса:
1. Можно ли ускорить процесс заливки в моем случае? 
   (пробовал "INSERT /*+APPEND NOLOGGING*/ INTO "  и  alter table <table_name> nologging - не особо помогло)
2. Может есть другой способ импорта (не exp/imp)

Прошу отвечать по сути, а не изгаляться smile Сам знаю что нуб
PM MAIL   Вверх
LSD
Дата 13.2.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Попробуй external table.

Добавлено @ 13:22 
Цитата(gurant @  13.2.2007,  13:06 Найти цитируемый пост)
 Таблица с   3786 записями заливатся ~6,5 минут.

Не могут insert-ы сами по себе столько занимать, ты что-то не так делаешь.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Тиль
Дата 13.2.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



Сделай datalinks между базами и качай из текущей схемы данные откуда хочешь.
--------------------
Казалось нам пипец, оказалось что не казалось
PM MAIL   Вверх
Sqlninja
Дата 13.2.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



Цитата(gurant @  13.2.2007,  13:06 Найти цитируемый пост)
Все работает, но жутко медленно. Таблица с   3786 записями заливатся ~6,5 минут.
Работаю через ADO


потому и медленно, что через ADO.

Используй стандартные гетерогенные сервисы Oracle, которые предназначены для таких задач.
http://download-uk.oracle.com/docs/cd/B105.../a96544/toc.htm

В двух словах:
1) Создай database link на удаленные базы.
2) CREATE TABLE x AS SELECT * FROM x@remote_db;



--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
neutrino
Дата 7.3.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Цитата(Sqlninja @  13.2.2007,  16:57 Найти цитируемый пост)
В двух словах:
1) Создай database link на удаленные базы.
2) CREATE TABLE x AS SELECT * FROM x@remote_db;

А можно сделать такое для ADABAS???
Я писал специальные скрипты на NATURAL, которые в свою очередь генерировали SQL-скрипты. У меня популяция таблиц занимает около 6 часов (это не из-за тормознутозти, а из-за огромного количества данных). Можно купить спец тул для этого, но фирме жалко денег, когда эту работу могу делать я.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.