Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2007, 10:40   #1
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Плохо Ora

Нужно с дбф файла или текстового (с разделяющим символом) на сервер закатать данные (1 млн зап/42 столбца), не подскажете как всего быстрее сделать (если можно, то и пример). Пробовал простым insert с клиента, так 20000 зап и за 1 час не закатал.
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 23.08.2007, 13:39   #2
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

Изучи программную и аппаратную составляющую.
1) попробуй сменить сервер БД например на Firebird.
2) может быть у сети низкая пропускная способность

я также вставлял записи 100 тыс около 5-10мин, но это было локально и БД Microsoft Access.
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Старый 23.08.2007, 15:11   #3
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Радость

Цитата:
Сообщение от Paul Hindenburg Посмотреть сообщение
Изучи программную и аппаратную составляющую.
1) попробуй сменить сервер БД например на Firebird.
2) может быть у сети низкая пропускная способность

я также вставлял записи 100 тыс около 5-10мин, но это было локально и БД Microsoft Access.
на локальной заняло 12 мин, сижу на быстрой сети
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 23.08.2007, 15:50   #4
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

а может стоит пересмотреть структуру таблицы? ведь 42 поля - это многовато! А серверная машина - не слабая?
Если не трудно - кинь структуру таблицы.
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Старый 27.08.2007, 09:45   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от MAcK Посмотреть сообщение
Нужно с дбф файла или текстового (с разделяющим символом) на сервер закатать данные (1 млн зап/42 столбца), не подскажете как всего быстрее сделать (если можно, то и пример). Пробовал простым insert с клиента, так 20000 зап и за 1 час не закатал.
та ну нихренасебе 42 поля =)))))) я в шоке...
А вот я кроме Insert ничего и не знаю....
Может, кто-то и подскажет другой вариант..Мне будет интересно почитать... Тема актуальная!!!
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 28.08.2007, 10:53   #6
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
та ну нихренасебе 42 поля =)))))) я в шоке...
А вот я кроме Insert ничего и не знаю....
Может, кто-то и подскажет другой вариант..Мне будет интересно почитать... Тема актуальная!!!
не я придумал, есть старые базы данных DBF по каждому цеху, вот мой нач. хочет чтобы копировать содержимое этих баз в новую (только для себя). Старые хранятся на сервере, если кто знает как можно с помощью pl/sql к ним подключиться и скопировать буду рад.
Пробовал делать по этапно, делал тхт файл (столбцы разделял символом #), копировал на сервак и оттуда через UTF_FILE скачивал данные, через Insert into. ~4000 в минуту, а их 1.061.000

Стуктуру завтра скину. (инет только на работе и то не надолго )
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 28.08.2007, 11:12   #7
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от MAcK Посмотреть сообщение
не я придумал, есть старые базы данных DBF по каждому цеху, вот мой нач. хочет чтобы копировать содержимое этих баз в новую (только для себя). Старые хранятся на сервере, если кто знает как можно с помощью pl/sql к ним подключиться и скопировать буду рад.
Пробовал делать по этапно, делал тхт файл (столбцы разделял символом #), копировал на сервак и оттуда через UTF_FILE скачивал данные, через Insert into. ~4000 в минуту, а их 1.061.000

Стуктуру завтра скину. (инет только на работе и то не надолго )
ну так загони все в процедуру....Инсерт в процедуре....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 28.08.2007, 11:35   #8
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
ну так загони все в процедуру....Инсерт в процедуре....
Может я чёто не понял, но делаю всё в процедуре, создаю курсор и им загоняю в базу. Посоветовали сделать файл как внешнюю базу (через EXTERNAL). Если это поможет скинтье пример как это реализовать
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 29.08.2007, 09:07   #9
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от MAcK Посмотреть сообщение
не я придумал, есть старые базы данных DBF по каждому цеху, вот мой нач. хочет чтобы копировать содержимое этих баз в новую (только для себя). Старые хранятся на сервере, если кто знает как можно с помощью pl/sql к ним подключиться и скопировать буду рад.
Пробовал делать по этапно, делал тхт файл (столбцы разделял символом #), копировал на сервак и оттуда через UTF_FILE скачивал данные, через Insert into. ~4000 в минуту, а их 1.061.000

Стуктуру завтра скину. (инет только на работе и то не надолго )
а когда ті все в текстовик загоняешь, он много весит?
Может, текстовик залить на сервак, тогда в базу заливаться будет локально...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 29.08.2007, 10:30   #10
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
а когда ті все в текстовик загоняешь, он много весит?
Может, текстовик залить на сервак, тогда в базу заливаться будет локально...
Весит 120 мб, заливаю локально (4000 записей в мин)
структура
ksch varchar2(18);
OMK varchar2(10);
CIZ varchar2(3);
UIZ varchar2(2);
NO varchar2(4);
TPL numeric(9,4);
RPL numeric(12,5);
RAZR varchar2(1);
OPP numeric(6,0);
KRAB varchar2(4);
KO varchar2(4);
KOB varchar2(18);
NIN varchar2(7);
ZAKAZ varchar2(6);
SETKA varchar2(50);
KWIR numeric(4,2);
NBR varchar2(2);
DPKOR date;
DWN date;
NIZVK varchar2(20);
KN varchar2(1);
PROF varchar2(7);
KSTV numeric(4,2);
OPL varchar2(3);
NRM varchar2(2);
IZGNM numeric(8,0);
BRAK numeric(4,0);
TAKT numeric(4,0);
PNM numeric(4,0);
OSTDO numeric(8,0);
OSTPS numeric(8,0);
PRIXN numeric(8,0);
RASXN numeric(8,0);
IZGCH numeric(8,2);
PLANO numeric(6,0);
DZ date;
DB date;
CIKLO numeric(5,2);
TM numeric(9,4);
TW numeric(9,4);
TST numeric(9,4);
TPZ numeric(9,4);
Единственный приличный формат, разработанный Microsoft'ом, - format c:

Последний раз редактировалось MAcK; 29.08.2007 в 10:34.
MAcK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц