2008-11-11 2 views
2

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

ответ

1

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

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

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

Say 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 находятся в конфликте, потому что ПК соответствует, но данные не работают (электронная почта отличается).
  • Запись 2 уникальна и может свободно существовать в обеих базах данных.

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

+0

Мне очень хотелось бы знать, как это заслуживает понижающий модем ... – 2010-07-02 23:11:38

1

Я думаю, вы используете Java DB (aka Derby) - в этом случае, если вы просто не можете использовать один экземпляр, вы можете сделать backup/restore.

+0

Спасибо за ваш ответ. Сохранение результатов удаления базы данных по умолчанию. Я хочу объединить две базы данных. – 2008-11-11 12:38:48

1

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

+0

Я работаю в компании francise, которая распространяет java-программу, которую я разрабатываю в ее отделах, и мне нужно объединить базы данных из разных местах. – 2008-11-11 18:17:03

2

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

Смежные вопросы