Лучший способ импорта (слияния) -экспорта базы данных java db

У меня есть, скажем, два компьютера. PC-a и PC-b, на которых установлено одно и то же приложение с поддержкой java db. Я хочу время от времени копировать данные из базы данных на ПК-а в базу данных на ПК-b и наоборот, чтобы на двух ПК всегда были одни и те же данные. Есть ли для этого уже реализованный API на уровне базы данных (например, 1. экспорт-резервная база данных с ПК-а 2. импорт-слияние баз данных на ПК-б) или мне нужно сделать это на уровне sql (вручную)?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
3 696
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Я предполагаю, что вы используете Java DB (также известная как Дерби) - в этом случае, если вы просто не можете использовать один экземпляр, вы можете сделать резервное восстановление.

Спасибо за ответ. Восстановление результатов удаление базы данных по умолчанию. Я хочу объединить две базы данных.

Argiropoulos Stavros 11.11.2008 15:38

Почему у вас нет базы данных на одном компьютере. и получить данные запроса всех остальных компьютеров от главного компьютера.

Я работаю во франчайзинговой компании, которая распространяет Java-программу, которую я разрабатываю в своих отделах, и мне нужно объединить базы данных из разных мест.

Argiropoulos Stavros 11.11.2008 21:17

Как вы упомянули в комментариях, что хотите «объединить» базы данных, это звучит так, как будто вам нужно написать собственный код для этого, поскольку, по-видимому, могут быть конфликты - один и тот же ключ в обоих, но с разными деталями против него, для пример.

Ответ принят как подходящий

Вкратце: вы не сможете этого сделать, не поработав с вашей стороны. SalesLogix устранил эту проблему, предоставив всему код сайта, поэтому вот как выглядит ваша таблица:

Customer: 
   SiteCode varchar,
   CustomerID varchar, 
   .... 
   primary key(siteCode, CustomerID) 

Итак, теперь вы должны взять свои базы данных и сопоставить каждую запись по первичному ключу. В случае конфликтов вам нужно будет предоставить отчет конечному пользователю о том, какие данные отличались.

Скажите machine1:

   SiteCode|CustomerID|CustName     |phone         |email 
 1 XXX     |0001      |Customer1    |555.555.1212  |[email protected]

и на machine2:

   SiteCode|CustomerID|CustName     |phone         |email 
 2 XXY     |0001      |customer2    |555.555.1213  |[email protected] 
 3 XXX     |0001      |customer1    |555.555.1212  |[email protected]

При выполнении разрешения:

  • Записи 1 и 3 конфликтуют, потому что PK совпадает, а данные - нет (адрес электронной почты отличается).
  • Запись 2 уникальна и может свободно существовать в обеих базах данных.

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

Другие вопросы по теме