Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

Объединение несколькихбаз в одну   Найти похожие ветки 

 
Evgeny7   (2002-07-16 13:48) [0]

Суть проблемы: Существует несколько баз Paradox которые необходимо время от времени объединять в одну. У всех баз одинаковая структура, но так как она постоянно меняется приходиться постоянно переписывать программу объединения. КАК сделать, чтобы постоянно не переписывать программу.


 
Sergey13   (2002-07-16 14:24) [1]

Переделать на SQL и работать с одной базой.


 
AlexGreG   (2002-07-16 15:56) [2]

Согласен


 
Eugene Lachinov   (2002-07-16 17:16) [3]

Используй TBatchMove, Mappings строиться по полям, которые есть в объединяемых таблицах


 
Evgeny7   (2002-07-17 07:42) [4]

Переделать на SQL нет возможности, так как уже существует работающая программа (которую делал не я). Несколько пользователей (10), каждый из них в конце месяца формирует по своему цеху файл для налоговой отчётности, все эти файлы необходимо объеденить в один и получить конечный файл формата dbf.


 
Sergey13   (2002-07-17 08:55) [5]

2Evgeny7 (17.07.02 07:42)
Че-то ты сам себе противоречишь. То структура данных меняется постоянно, то имеется уже "существует работающая программа (которую делал не я)". Как она работает с "постоянно" меняющейся структурой?


 
Evgeny7   (2002-07-17 10:01) [6]

Я поддерживаю программы написанные другими программистами нашей конторы, и эти программисты внимая жалобам и пожеланиям пользователей и начальства постоянно обновляют уже написанные и работающие программы то и дело меняя структуру таблиц, добавляя поля, а мне в ломы каждый раз подстраиваться под эти изменения, кто их знает, чего они в следующий раз прикрутят.


 
Sergey13   (2002-07-17 10:16) [7]

Постарайся, чтобы "программисты внимая жалобам и пожеланиям пользователей и начальства" внимали бы и твоим "жалобам и пожеланиям". Проблема в данном случае скорее административного плана, чем программного. Так и будешь мучаться.


 
Evgeny7   (2002-07-17 10:26) [8]

Спасибо за помощь, я нашёл выход.


 
Sergey13   (2002-07-17 10:39) [9]

Замечаю я - входит в моду такого рода завершения дискуссий. "Спасибо я решил". А как решил, что решил- не писать. Когда совета спрашивал - не в лом было описывать проблему, когда нашел решение - в лом его описать. Не по жентельменски как то.
8-(((
ЗЫ: Но это наверное в "Потрепаться"


 
Evgeny7   (2002-07-17 13:04) [10]

Создал копию таблицы примерно так:
with Table2 do begin
Close;
FieldDefs:=Table1.FieldDefs;
DataBaseName:=Table1.DatabaseName;
TableName:="C:\table\NEWTABLE.DBf";
CreateTable;
Open;
А дальще просто скопировал в нее данные из исходных таблиц.


 
Sergey13   (2002-07-18 09:37) [11]

2Evgeny7 (17.07.02 13:04)
А как ты решаешь проблему идентификаторов например? Или такой проблемы нет? Это когда ведется список чего нибудь и этому "чего нибудь" автоматичеки присваивается код. В одном цехе например коду 1 соответствует Иванов И.И. а в другом Петров П.П. При слиянии получится два кода 1. На этот код существуют данные в других таблицах - например зарплата. Или это не актуально?


 
Evgeny7   (2002-07-18 09:51) [12]

Такой проблемы нет, потому как у Иванов И.И. и Петров П.П. есть табельный номер, а они у всех разные, а ссылки на другие таблицы организованны именно по табельным номерам.


 
Sergey13   (2002-07-18 10:24) [13]

2Evgeny7 (18.07.02 09:51)
Ну про Иванова и Петрова я написал для примера. Это понятно, что у них табельный номер(PK) есть. Но вот у какой нибудь выплаты или надбавки тоже есть какой нибудь PK-код. Как быть с их совпадением. В общем - как обстоят дела со справочной информацией? Справочники ведутся централизованно или ДЕцентрализованно? Если второе - то получается большой геморой именно с ними. Для примера код выплаты 45 в одном цехе соответствует сверхурочным работам, в другом доплате за многодетность.
А вообще, как говорится - флаг в руки. Я бы так вопрос решать не стал. Все это временно-вынужденные меры - тут надо бороть не следствие, а причину, ИМХО. И если смотреть на проблему глобально, то пора вам задуматься о переходе на нормальные технологии. Все на SQL!!! 8-)


 
Evgeny7   (2002-07-18 11:24) [14]

Да гемморой великий, так как я сопровождаю один около 40 юзеров и от разработчиков программ в нашей конторе понимания проблем не дождёшся, вот по этому такие проблемы решаю сам. А на счет совпадения каких либо кодов всё очень просто, по мимо табельного номера, у каждого человека есть номер цеха и другие идентификаторы (типа кода проффесии и т.д.), совокупность которых всегда остаётся уникальной, так что проблема решена.



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

Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
3-23869
Ptr
2002-07-19 15:07
2002.08.08
Чистка Interbase


14-24229
dimanew
2002-07-15 11:51
2002.08.08
Разрезал AVI файл WinCmd на 3 части, понимаю что 2 и 3 куски


3-23891
Explorer
2002-07-17 08:34
2002.08.08
Count, sum


1-23989
MikeZ
2002-07-27 19:14
2002.08.08
Использование найденого свойства компонента


3-23910
BS
2002-07-18 10:29
2002.08.08
Проблемы - снова ADO выгружается на 30-м разе.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский