-
Notifications
You must be signed in to change notification settings - Fork 2
Přechod z KpWin SQL
Tato stránka je ve výstavbě a nelze ji prozatím doporučit jako postup hodný následování.
Export provedeme tak, že otevřeme modul katalogizace (např. v menu Katalogizace -> Monografie) a potom z lišty nástrojů použijeme ikonu složky se zelenou šipkou nahoru - export. Vybereme potřebné parametry a chvíli čekáme. Nikde není vidět postup, ale časem program zahlásí, že je hotovo a kolik záznamů bylo vyexportováno.
Jako kódování češtiny je použito WIN 1250, je třeba překódovat do UTF-8 nejlépe za pomocí programu MarcEdit. Potom je potřeba uprovést několik úprav dat, než bude možné je do Kohy importovat.
- zformátovat datum v poli 980d (datum vložení svazky) z formátu "D.M.YYYY" do "YYYY-MM-DD" (iso). Použijeme funkci Tools->Edit subfield v MarcEdit. Vybereme pole 980, podpole d, do Field Data a Replace With vyplníme postupně tyto tři dvojice řetězců a pokaždé poté stiskneme tlačítko Replace Text. Musíme mít zaškrtnuté "Use regular expression"
Field Data | Replace With |
---|---|
([0-9]{2})\.([0-9]{2})\.([0-9]{4}) | $3-$2-$1 |
([0-9]{2})\.([0-9]{1})\.([0-9]{4}) | $3-0$2-$1 |
([0-9]{1})\.([0-9]{2})\.([0-9]{4}) | $3-$2-0$1 |
([0-9]{1})\.([0-9]{1})\.([0-9]{4}) | $3-0$2-0$1 |
- Pokud se v datech nachází pole, které používáte pro aktuální umístění (např. 993f, 980f), a pokud toto pole neobsahuje validní kód knihovny, je potřeba jej odstranit: Přes Tools->Edit subfield data, field 980, subfield f (například) a stiskněte tlačítko "Remove text"
Databázi exportujeme pomocí zálohovacího nástroje: Servisní modul -> Nastavení a správa databáze -> Záloha databáze. Bude zapsán soubor s příponou .fbk, ten je možné použít k vytvoření vlastní kopie databáze na jiném stroji. Jen je potřeba nainstalovat si Firebird a případně nějaký správcovský sofware, například Flame Robin (http://www.flamerobin.org/).
Ze zálohy vytvořte novou databázi. Pomocí Flame Robin je možné tahat z ní data jak ve formátu CSV, tak i jako SQL inserty.
Tabulky důležité pro převod:
Název | Popis |
---|---|
CTEN | Informace o čtenářích |
VYPUC | Informace o výpůjčkách |
Výpůjčky je dobré si vyexportovat jako SQL inserty a vložit je jako pomocnou tabulku přímo do databáze Kohy a odtud dále transformovat pomocí SQL. Vytvoření pomocné tabulky:
CREATE TABLE `VYPUC` ( `XCILEG` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `XCISLO1` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, `XPRIC` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, `XREZE` int(11) DEFAULT NULL, `XDAT_VYP` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, `XPROL` int(11) DEFAULT NULL, `XSTAV` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, `XDOB_VYP` int(11) DEFAULT NULL, `XCENA` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `XDAT_VR` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, `XTEMA` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, `XPOBO` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `XKATEGORIE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, `XUPOM` int(11) DEFAULT NULL, `XZKATAL` int(11) DEFAULT NULL, `XPUJCOVNA` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, `ID_EX` int(11) DEFAULT NULL, `XCISJEDN` int(11) DEFAULT NULL, `XTYPPUJC` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;Potom je třeba přeformátovat datum do standardního ISO formátu.
UPDATE VYPUC SET XDAT_VYP = STR_TO_DATE(XDAT_VYP,'%d.%m.%Y'); UPDATE VYPUC SET XDAT_VR = STR_TO_DATE(XDAT_VR,'%d.%m.%Y');