powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
16 сообщений из 16, страница 1 из 1
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38951307
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток форумчане,
Интересует такой вопрос:
Каким образом можно сделать перенос данных таблицы одной БД (РБД) из другой БД (РБД) с промежуточным их преобразованием.
Существует распределенка, в ней есть БД1 с таблица1 (с полями «поле1», «поле2», «поле3»), а также БД2 с таблица2 (с полями «поле1», «поле2»).
Нужно данные из таблица1 перенести в таблица2, с объединением данных (при переносе):
«поле1» (таблица1), в «поле1» (таблица2) и
«поле2» + «поле3» (таблица1) в «поле2» (таблица2)

СУБД - MySQL

Заранее спасибо
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38951320
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под словом "БД" подразумевается схема, то примерно так:
Код: sql
1.
INSERT INTO db2.table2 (field1, filed2) SELECT field1, field2+field3 FROM db1.table1
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38951327
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
под абривиатурой БД, подразумевается база данных (которые находится на разных машинах)
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38951329
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010под абривиатурой БД, подразумевается база данных (которые находится на разных машинах)А, т.е. разные инстансы.
Тогда движок FEDERATED + мой запрос выше.
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952125
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА, т.е. разные инстансы.
Тогда движок FEDERATED + мой запрос выше.

Т.е. если я вас правильно понял, просто нужно включить FEDERATED (через "my.cnf"). - Я его включил (т.е. по запросу "mysql > SHOW STORAGE ENGINES;" в таблице напротив "FEDERATED", появилось "YES")


А вот далее...,
В своем клиент-приложении, я использую для данных, компонент TADOQuery,
и мне просто в этом компоненте нужно написать (ну конечно запрос будет выглядеть немного поиному)
Код: pascal
1.
2.
3.
4.
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add('INSERT INTO db2.table2 (field1, filed2) SELECT field1, field2+field3 FROM db1.table1');
  Query.ExecSQL;



Правильно?
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952129
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Почти так. Только между этими действиями еще нужно создать таблицы-линки на удаленные таблицы. См. How to Create FEDERATED Tables .
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952136
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед проработкой данной ссылки я хочу более или менее представлять картину.
т.е. у меня в результате будет
база+таблица (источник (у меня уже есть)),
база+таблица (приемник (у меня уже есть)),
и связывающая таблица?
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952141
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В целом да.
Kos-2010и связывающая таблица?Ну технически это не таблица. Это просто некое оглавление таблицы с указанием, что брать данные "там".
Но с точки зрения SQL-запросов это будет выглядеть как обычная таблица.
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952187
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня пока все 3 БД распределенной базы данных, на одной машине.

Я все проделал, т.е. взял структуру таблицы-источника (в sql), в PhpMyAdmin открыл БД таблицу-приемника, провел скрипт, и о чудо, у меня в БД-приемнике оказалась таблица-источник с данными :-)
Вопрос:
- зачем мне тогда проводить запрос (см. выше), если я могу на клиент-приложении с помощью ADOQuery, просто выводить данные промежуточной таблицы (созданной с помощью FEDERATED)?

Или я чего то непонимаю?
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952189
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я для чего-то специально на серверном приложении кнопку делал ("Обновить данные") называется :-)
Теперь все это оказалось не нужным :-(
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952219
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Не все так просто. У FEDERATED тоже есть свои недостатки. Например, он требует постоянного наличия связи. Не помню, что там насчет индексов - в худшем случае можно нарваться на полное копирование всех данных таблицы при каждом выполнении SQL-запроса. Ну и задержки/пропускная полоса канала тоже могут играть роль ограничивающих факторов.

Как вариант, посмотрите на репликации. Это примерно ваша же синхронизация данных, только с помощью встроенных механизмов в MySQL.

Окончательный выбор зависит от всей архитектуры системы, ее задач и целей.
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952265
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже не знаю, у меня выбрана стратегия расчленения.
Т.е. предполагается что связь между отдельными БД (РБД), будет не постоянной, т.е. была закладывалась такая мысля, что связь будет временная, только на время обновления данных и все (чтоб не грузить сеть).

Т.е. на одном сервере (БД1) внесли или отредактировали данные, нажали кнопку и эти данные ушли в другие две БД (БД2 и БД3) и все.
Отсюда,
я не совсем понимаю (исходя из технологии FEDERATED), как оператор работая с БД1 (клиент1) (при этом не работая с данными БД2 и БД3), сможет обновить данные на БД2 (клиент2) и БД3 (клиент3).
Ведь запускать скрипт обновления (см. выше), у меня получается только находясь на клинт2 и клиент3?
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38952274
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. уточню
оператор1 клиента1 обновил данные в БД1, эти данные, через связывающую таблицу, сразу обновились в БД2 и БД3 в FEDERATED-таблицах.
Чтоб не загружать сеть, команда оператора1 каким-то образом, должна выполнить скрип (см. выше), по обновлению физической таблицы в БД2 и БД3 (используя FEDERATED-таблицу), и прервать связь между серверами.
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38953100
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверно техника " репликации " мне больше подойдет под мою задачу.
Только мне не очень понятно: все процессы репликации например , запускаются с командной строки.
А я хочу это сделать с помощью кнопки в приложении.
Хотя каким-то образом можно при нажатии кнопки, передавать команды в комадную строку?
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38953123
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kos-2010,

Все те же самые команды можно отправлять и через TQuery (или как он там в ваших компонентах называется).
...
Рейтинг: 0 / 0
Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
    #38953157
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Спасибо за подсказки
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос данных из одной БД (РБД) в другую БД с промежуточным преобразованием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]