Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Проблема с экспортом - импортом   Найти похожие ветки 

 
malya   (2004-11-08 10:42) [0]

Доброе утро Метры баз данных!
 Передомной стала проблема которую не могу решить сам :((
 Есть центральная база в которой есть таблица с количеством записей примерно 100 тысяч. Необходимо провести экспорт товаров
в другие такие же базы лежащие в  локальной сети(тут данные не изменяються) при этом выполнить проверку на наличее таких записей и если надо то обновить (удалить или вставить).Как решить такую проблему?
Пробывал напрямую подключаться к базе, вычитывать данные и
потом сравнивать но на таких обемах все просто померает :(,
пробовал через файл но тогда возникает проблема с тем что
данные в файле могут быть не актуальны (или возникнит проблема
с сетью и т.д)
Использую компоненты FibPlus
Подскажите в каком направлении думать ???
Зарание благодарен!


 
P.N.P. ©   (2004-11-08 10:51) [1]

Как вариант - в программке IBExpert есть такая фишка -
Table Data Comparer - он сравнит данные таблиц и
выдаст скрипт.


 
malya   (2004-11-08 10:56) [2]

Пасибо:)
Но мне надо это реализовать в програме.Администратор
нажал кнопку в программе - данные перелились на другие базы.


 
HSolo ©   (2004-11-08 11:01) [3]

Посмотрите в сторону репликации
http://ibase.ru/develop.htm - раздел "Репликация"


 
P.N.P. ©   (2004-11-08 11:05) [4]

Сначала подробнее - каким способом идет экспорт?
А на вскидку:
Сделай процедуру в бд, в которые будут экспортироваться данные и заливай данные с ее использованием.
Процедура примерно след. вида:
CREATE PROCEDURE MYTABLE_IU (
 ID INTEGER,
 NAME VARCHAR(255))
AS
BEGIN
 IF (EXISTS(SELECT ID FROM MYTABLE WHERE (ID = :ID))) THEN
   UPDATE MYTABLE
   SET  NAME = :NAME,        
   WHERE (ID = :ID);
 ELSE
   INSERT INTO MYTABLE (
       ID,
       NAME)
   VALUES (
       :ID,
       :NAME);
END


 
malya   (2004-11-08 11:09) [5]

В идеали хотелось бы чобы напрямую подключалось к базе.
 но тут становиться вопрос что делать если баз 10 и необходимо
 одновременно заливать туда данные? (а оно действительно необходимо) Cоздавать 10 потоков ?

За процедуру спасибо. Подумаю :)


 
P.N.P. ©   (2004-11-08 11:14) [6]

что значит //напрямую подключалось к базе. ?
а вообще - зачем 10 одинаковых баз в локальной сети?


 
malya   (2004-11-08 11:20) [7]

>а вообще - зачем 10 одинаковых баз в локальной сети?
  под этим я подразумеваю кассовые места куда необходимо
  ежедневно заливать допустим наименования товаров
 >что значит //напрямую подключалось к базе.
  ->connect();
  -> insert,update,delete
  ->disconnect();
  и т.д для каждой базы



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
6-1096453737
Yerick
2004-09-29 14:28
2004.12.05
Всё тот же ЛВС


1-1101292981
Всезнайка
2004-11-24 13:43
2004.12.05
Переход на нужную страницу в CHM-хелпе


1-1100722921
r_alex
2004-11-17 23:22
2004.12.05
Посоветуйте как и насколько можно изменить компоненту ListBox


1-1101120518
#Master#
2004-11-22 13:48
2004.12.05
Чтение из текстового файла


8-1094274897
Nomolos
2004-09-04 09:14
2004.12.05
MCI-окна