Skip to content

Přechod z KpWin SQL

black23 edited this page Mar 26, 2016 · 14 revisions

Tato stránka je ve výstavbě a nelze ji prozatím doporučit jako postup hodný následování.

Bibliografické záznamy

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"

Transakční data

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
Čtenáře je dobré si vyexportovat jako CSV, pomocí OpenRefine je vyčistit a upravit a pak vyexportovat do CSV a nahrát do Kohy.

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');
Clone this wiki locally