|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Здравтсвуйте. Такой вопрос. Как можно организовать сбор данных в основную БД из нескольких файлов БД, абсолютно идентичных по структуре. Существует несколько БД с абсолютно одинаковой структурой таблиц. Всё до невозможного просто. Заполняются поля и всё по сути. Данных довольно много. Существует Основная БД. файлы присылаются по электронке и есть необходимость из этих файло *mdb все данные собирать в основнуб БД. И по возможности, чтобы они не плюсовались всегда в неё (с каждым новым файлом, его будут присылать ежемесячно), а просто добавлялись новые. Такое возможно? подскажите. Заранее спасибо огромное за отзывы. MS Access 2003. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 05:23 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Проще всего прилинковать пример базы, которую присылают, создать необходимые запросы, которые вытаскивали бы только новые данные. Затем при получении нового файла просто перелинковываем таблицы на новый файл и запускаем запросы извлечения данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 06:09 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Можно также не перелинковывать, а использовать копию присланного файла, которая заменяла бы предыдущий обработанный файл ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 06:11 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Можно. Как раз занимаюсь похожей задачей для торговой сети. Понимаю, что делаю довольно топорно, но работает нормально. Наберусь опыта - сделаю изящнее ) Соображения по поводу вашего вопроса. Если у вас есть несколько БД с "абсолютно одинаковой структурой таблиц", которые вы планируете собирать в одну базу, то вам надо решить предварительно несколько вопросов. Вы хотите все-все-все таблицы из каждой базы кидать в общую? Или какие то итоговые таблицы-выборки? Данные будут собираться в одну общую таблицу (таблицы), или для каждой исходной базы будет создана и вестись своя уникальная таблица - типа для База1 - Tab1, База2 - Tab2, Tab3...TabN? Если в общие таблицы - то вам надо продумать уникальные идентификаторы для каждой из исходных баз, что бы потом в общей куче вы могли определить, "чья чьё". Тут удобно использовать составные ключевые поля в таблицах. Например "ДатаЗаписи" + "ИдентификаторБазы" (например - База1, База2)+IDЗаписи. Насколько будет автоматизирована передача и обработка? У меня, например, данные передаются через транзитный файл (который потом передаётся по емейлу или на флешке). Исходная база в него загружает свои данные, база-получатель забирает. Понятное дело, желательно и удобно "накрутить" алгоритмы проверки наличия каталога, файла в каталоге, таблиц в файле, очистки транзитного файла. Далее уже обработка принимаемых данных в самой базе. Просто сразу запросом на добавление, или же с какой то предварительной проверкой правильности данных. Например - проверка на пустые поля, даты вне диапазона, нечаянно вставленные цифры в фамилии и так далее. Ну и сжатие потом обязательно. Желательно - автоматом. После чего - сделать формы, отчёты для выборки и просмотра нужных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 06:12 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
База сама до простого простая. Там простые не замороченные поля. Никаких связей. По поводу вычислений. Надо просто забирать данные из одного, например файла с таблицей в другой файл т такой же таблицей, без каких либо вычислений. Запросы будут производиться уже в основной таблице. Задача просто автоматизированно взять данные из одного файла (таблицы) и получить в основную другой файл с такой же точно таблицей. Уже сделали запрос, который передаёт из файла источника в файл основной, но их 10 файлов каждый месяц. И надо каждый раз писать запрос в каждой из 10ти баз....это не то... Знаю, что как то полюбому можно сделать запрос (SQL) в основной таблице и он будет вытягивать данные из этих файлов...Фиг с ним, пусть даже каждый раз нам будут присылать новую БД (т.е. там на местах будут каждый месяц начинать новую, чистую таблицу), хотя хотелось бы конечно, чтобы записи хранились всегда на местах в одной БД (файле).... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 06:50 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Здесь я так думаю есть какой то sql запрос для импорта данных из файлов.... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 07:05 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Ну так пробуйте. Технологию в общих чертах рассказали, будут конкретные вопросы - пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 07:18 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Спасибо. Попробовал) Конекретный вопрос. Есть ли скелет запроса SQL, который импортирует данные в основную таблицу из многих файлов? Запрос должен находиться в основной базе. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 07:33 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
SergeySA, Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 08:51 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
А вам точно нужно вставлять из нескольких одинаковых таблиц одновременно ? Как я понял, файлы с одинаковой структурой таблиц приходят в письмах и их можно обрабатывать по очереди, не цепляя таблицы из разных файлов к главной базе одновременно ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 09:08 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
SergeySAфайлы присылаются по электронке Это ключевой момент - значит есть интернет... Можно делать обмен данными через сервер с MySql В точке: подключился, прилинковал, запросом залил. В офисе: подключился, прилинковал, получил. Можно делать принудительно, можно автоматизировать по событиям или расписанию, используя флаги, состояние счетчиков и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 09:14 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
INSERT INTO Главная_таблица (Select * From 1КопияИзКоторойВставляем union Select * From 2КопияИзКоторойВставляем union Select * From 3КопияИзКоторойВставляем ); вот спасибо попробую, что то вроде...... сервера нет sql таблица в базе всего одна с данными......... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 09:19 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinА вам точно нужно вставлять из нескольких одинаковых таблиц одновременно ? Как я понял, файлы с одинаковой структурой таблиц приходят в письмах и их можно обрабатывать по очереди, не цепляя таблицы из разных файлов к главной базе одновременно конечно не обязательно прям одновременно......можно и отдельно могу в основной таблице, куда должны стекаться данные написать 10 запросов и пусть они из 10 файлов получают данные....главное, чтобы всё это в таблице приёмнике были запросы....и по возможности обновлялись, а не добавлялись каждый раз ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 10:04 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
тут ещё одно. я несколько профан в sqlююююмогу понимать принципы, но сделать не....так, что и обратился за готовым как бы запросом.....т.е. структурой.....пути сам вставлю конечно все ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 10:05 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
SergeySAнаписать 10 запросов Зачем писать 10 запросов? Напишите один, который вытаскивает данные из одного файла, а затем файл подменяйте новым и запускайте тот же запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 10:22 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinЗачем писать 10 запросов? Напишите один, который вытаскивает данные из одного файла, а затем файл подменяйте новым и запускайте тот же запрос. Зачем выполнять дополнительные действия в файловой системе, выходя за рамки оболочки? проще использовать динамически строящийся запрос, получив список файлов для обработки через, скажем, FSO или CommonDialog.FileOpenDialog... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 10:43 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Akina, Лично я бы сделал через перелинковку таблиц после выбора конкретного файла и/или пакетную обработку всех файлов в директории, но, боюсь, ТС будет сложновато это сделать, гораздо проще "подсунуть" файл в определенное место с определенным именем и запустить запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2016, 13:05 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinAkina, Лично я бы сделал через перелинковку таблиц после выбора конкретного файла и/или пакетную обработку всех файлов в директории, но, боюсь, ТС будет сложновато это сделать, гораздо проще "подсунуть" файл в определенное место с определенным именем и запустить запрос. Да думаю, что скорее всего так пробовать..... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2016, 04:26 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinЛично я бы сделал через перелинковку таблиц после выбора конкретного файла и/или пакетную обработку всех файлов в директории Ну перелинковывать или динамически строить запрос - это уже не так важно. Перелинковка мне просто не нравится тем, что файл может быть удалён, и тогда при запуске и работе могут возникнуть ненужные проблемы и ошибки. А динамический не сохраняемый в статике (хотя пусть бы даже и сохраняемый - просто не надо пытаться его выполнить, явно или неявно) запрос выполнился и забылся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2016, 09:28 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
Тогда стоит упомянуть, что можно через SQL обращаться к таблицам во внешних фалах без прилинковки как к обычным таблицам: Код: sql 1.
Может кто-то не знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2016, 09:58 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinТС будет сложновато это сделать, гораздо проще "подсунуть" файл в определенное место с определенным именем и запустить запрос.А что в этом варианте плохого? У меня лежат эти шаблоны по известному адресу, таблицы всегда прилинкованы (при запуске линкуется всё). Экспорт/импорт данных включённых в выборку делается в этот файл. И всё. Если пользователи удалили файл, то он будет восстановлен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2016, 10:39 |
|
Сбор сведений в основную БД
|
|||
---|---|---|---|
#18+
MrShinможно через SQL обращаться к таблицам во внешних фалах без прилинковки как к обычным таблицамНу говоря о динамически строящемся запросе, я в основном именно это - указание внешнего файла в качестве источника данных,- и имел в виду. Разве что для именно таблицах в других Аксессовских БД лучше использовать специальный штатный синтаксис Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2016, 11:16 |
|
|
start [/forum/topic.php?fid=45&fpage=96&tid=1613254]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 340ms |
total: | 472ms |
0 / 0 |