Topic: Работа с базой MySQL
У меня следующая задача: есть локальная база и по кнопке я бы хотел ее синхронизировать с базой MySQL. Такая конфигурация возможна?
Вопрос сводится к задаче работы с двумя базами одновременно.
My Visual Database → Russian → Работа с базой MySQL
У меня следующая задача: есть локальная база и по кнопке я бы хотел ее синхронизировать с базой MySQL. Такая конфигурация возможна?
Вопрос сводится к задаче работы с двумя базами одновременно.
Уточните, что вы имеете ввиду под словом "синхронизировать"? Выровнять структуры двух БД? Провести (одностороннюю, двустороннюю) репликацию данных?
В любом случае такой волшебной кнопки в MVDB нет, для этого придется писать скрипты и SQL-запросы.
У меня есть реализация интернетмагазина на сайте выполненная на OPENCART там всего оч много ненужного и запутанного). Я использую его как каталог. И у меня есть база данных написанная на Вашей платформе. Я бы хотел синхронизировать эти базы (структуры разные! речь идет о данных и соответственно у меня есть алгоритм их соответствия) Все что нового добавляется на Сайте должно в рамках синхронизации отображаться в моей базе. Пример: смотрим id_produkt есть - обновляем данные (условия изменяемости или не изменяемости данных не будет) если нет добавляем все данные по новому товару. Резюме: Как в рамках одного проекта открыть сразу несколько баз?
Про кнопку понятно - это просто механизм реакции он уже есть а привязка к кнопке для наглядности)
//Application.ProcessMessages;
//{$MySQL disable_connectdialog}
//Form1.MySQLConnection.Server := '00000000';
//Form1.MySQLConnection.Port := 3306;
//Form1.MySQLConnection.Username := '00000000';
//Form1.MySQLConnection.Password := '000000000';
//Form1.MySQLConnection.Database := '0000000';
//try
//Form1.MySQLConnection.Connect;
//except
//ShowMessage('Can''t connect to database.');
//SQL_Connect.Close;
//end;
Это работает при открытии главной формы, а при обработке нажатие на кнопку - нет.
Изначально при подключении к MySQL говорится что файл базы данных будет сформирован автоматически и например без соединения с этой базой у меня недоступны локальные таблицы которые я сформировал в рамках MVD.
У меня есть реализация интернетмагазина на сайте выполненная на OPENCART там всего оч много ненужного и запутанного). Я использую его как каталог. И у меня есть база данных написанная на Вашей платформе. Я бы хотел синхронизировать эти базы (структуры разные! речь идет о данных и соответственно у меня есть алгоритм их соответствия) Все что нового добавляется на Сайте должно в рамках синхронизации отображаться в моей базе. Пример: смотрим id_produkt есть - обновляем данные (условия изменяемости или не изменяемости данных не будет) если нет добавляем все данные по новому товару. Резюме: Как в рамках одного проекта открыть сразу несколько баз?
Про кнопку понятно - это просто механизм реакции он уже есть а привязка к кнопке для наглядности)//Application.ProcessMessages;
//{$MySQL disable_connectdialog}
//Form1.MySQLConnection.Server := '00000000';
//Form1.MySQLConnection.Port := 3306;
//Form1.MySQLConnection.Username := '00000000';
//Form1.MySQLConnection.Password := '000000000';
//Form1.MySQLConnection.Database := '0000000';
//try
//Form1.MySQLConnection.Connect;
//except
//ShowMessage('Can''t connect to database.');
//SQL_Connect.Close;
//end;Это работает при открытии главной формы, а при обработке нажатие на кнопку - нет.
Изначально при подключении к MySQL говорится что файл базы данных будет сформирован автоматически и например без соединения с этой базой у меня недоступны локальные таблицы которые я сформировал в рамках MVD.
для работы с удаленной БД нужно использовать API, у wordpress вроде есть такое, но я им не пользовался и могу предложить Вам посмотреть такой вариант
https://pavlenkovv.ru/2022/03/29/%d0%be … %b1%d0%b4/
Возможно Вы сможете создать свой вариант API
Спасибо но это немного не то. Вы предлагаете сделать этот обработчик на удаленном сервере. А я спросил про работу в среде MVDB. Есть два непересекающихся процесса: работа с локальной базой и с удаленной. Мой вопрос был Как эти два процесса соединить в одном проекте. (без кода на стороне сервера) У меня есть только доступ к удаленной базе данных и все. Ни какой код на той стороне возможности написать не имею.
//Application.ProcessMessages;
//{$MySQL disable_connectdialog}
//Form1.MySQLConnection.Server := '00000000';
//Form1.MySQLConnection.Port := 3306;
//Form1.MySQLConnection.Username := '00000000';
//Form1.MySQLConnection.Password := '000000000';
//Form1.MySQLConnection.Database := '0000000';
//try
//Form1.MySQLConnection.Connect;
Вот эта конструкция отлично работает но не дает возможности работать с локальной базой.
Вот эта конструкция отлично работает, но не дает возможности работать с локальной базой.
Одновременно можно работать только с одной БД. Если Вы хотите, что бы данные менялись на удаленной БД когда Вы вносите изменения в локальной БД, то нужно использовать API.
В обратном порядке, когда происходит изменение в БД его фиксирует Тригер, который записывает в БД сведенья (любые, на Ваш вкус, что бы программа поняла что на удаленной БД произошли изменения). Программа обращается к этим данным (любое указанное Вами время) и если имеются изменения, то посылает запрос на получение этих данных, API обрабатывает запрос и передает эти данные в ответе, Ваша программа принимает и записывает ответ в локальную БД.
А если перевернуть процесс Например работать с базой MySQL как обычно а локальную открывать не напрямую раз так невозможно а скажем как файл и разбирать его на запчасти Сработает? Или перекидывать данные между двумя работающими процессами? Дрова конечно но с реализацией API как то стожновато для меня
разбирать его на запчасти Сработает? Или перекидывать данные между двумя работающими процессами?
не понимаю...
Одновременно можно работать только с одной БД...
Не совсем так. Можно с помощью скриптов создать отдельное подключение и работать одновременно с двумя и более базами. Где-то на форуме есть примеры.
Не совсем так. Можно с помощью скриптов создать отдельное подключение и работать одновременно с двумя и более базами. Где-то на форуме есть примеры.
это с SQLite можно, вроде до 10-и одновременных подключений, про MySql я не раз пытал Дмитрия
Дмитрий!! С праздником!
Если можно с локальными то и с удаленными что мешает Тема очень актуальная
Дмитрий!! С праздником!
Если можно с локальными то и с удаленными что мешает Тема очень актуальная
МОЖНО ИСПОРТИТЬ БД !! на удаленном сервере
удаленную бд можно подключить на прямую, создайте на сервере доступ для вашего ip..
k245 говорит, что на форуме есть вариант двойного подключения, но я такого не знаю..
Как вариант используйте скрипт подключения и переключайтесь от одной бд к другой
Иногда читая отзывы по теме судорожно пытаешься понять зачем человек сам с собой разговаривает Что Вы такой крутой программист доказывайте среди коллег На форуме просьба отвечать на вопрос или помощь в решении проблемы а не заниматься самовосхвалением!
У меня есть только доступ к удаленной базе данных и все. Ни какой код на той стороне возможности написать не имею.
Интересно, это как..? Чужой сайт?
Где-то на форуме есть примеры.
Тут наверное...
My Visual Database → Russian → Работа с базой MySQL
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi