Łączenie danych z dwóch plików [sqlite] w jeden

0

Witam serdecznie

Mam zapytanie czy istnieje software'owa możliwość połączenia dwóch plików sqlite w jeden przy zachowaniu kompletności danych z jednego i drugiego zbioru?
Pliki baz mają takie same struktury, te same tabele i różni je tylko zawartość. Problem dotyczy aplikacji SIO (System Informacji Oświatowej). W placówce w której pracuje, osoba odpowiedzialna za wprowadzanie tych danych, zainstalowała sobie program na 2 różnych komputerach i wprowadzała dane raz na jednej raz na drugiej maszynie, a teraz chciałaby te dane zintegrować tak aby były wszystkie razem dostępne na jednym komputerze. Czy istnieje jakiś integrator do plików sqlite, który na wejściu pobiera dwa pliki sqlite i tworzy jeden wynikowy zawierający dane z dwóch plików wejściowych?

0

Nie, nie ma takich narzędzi. Przy łączeniu danych z dwóch baz mogą wystąpić konflikty, w związku z tym istnienie takiego narzędzia jest raczej bezcelowe. W przypadku gdy założymy, że nie będzie konfliktów takie mergowanie można zrealizować za pomocą kilku poleceń w konsoli, więc to również sprawia, że nikt raczej nie napisał idiotoodpornego narzędzia.

sqlite3 database1 .dump | sqlite database3
sqlite3 database2 .dump | sqlite database3 

Btw. taka "łączona" baza może nie działać, ponieważ w SIO dane z aplikacji klienckich są synchronizowane z serwerem głównym.

0

Oczywiście istnieje taka możliwość ale nie da się tego tak prosto zrobić jak napisał przedmówca.
W przypadku gdyby to była jedna tabela to dałoby się to zrobić w miarę prosto. Niestety jeśli mamy wiele tabel połączonych np kluczami obcymi wtedy niestety trzeba pokombinować. Jakiś czas temu pracowałem przy projekcie gdzie z wielu niezależnych stanowisk pracujących w ternie bez dostępu do sieci dane zrzucane były do sqlite, a po powrocie do bazy gdzie była sieć, dane zrzucane były do centralnego serwera.

Niestety musisz w tym wypadku podąć decyzję, która baza jest centralna np komputer1 następnie z komputer2 należy zrobić eksport danych odpowiednio zmieniając np wartości kluczy PK i FK i na końcu zrobić import tych danych. Proste to nie jest ale da się. Jeśli będziesz potrzebować szczegółów to podeślij przykładową strukturę pliku (bez danych) to spróbuję coś podpowiedzieć konkretniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0