|
![]() | Návrhář přenosů dat | ![]() | Přenosy dat | Popis přenosu | ![]() |
Import a export dat do (resp. z) interního formátu Vám nabízí nejjednodušší způsob, jak si vytvořit záložní kopii vybraných dat z 602SQL nebo jak přenést data z jedné instalace 602SQL do jiné.
Při importu musí tabulka, do níž se data zavádějí, předem existovat, a musí mít naprosto stejnou strukturu jako tabulka (resp. odpověď na dotaz), z níž byla data exportována. Proto je rozumné kromě obsahu tabulky exportovat také její definici a pak importovat oboje.
Import a export dat ve vnitřním tvaru zvládá přenos všech typů a struktur 602SQL.
Exportem a importem dat se nezmění absolutní čísla záznamů v tabulce. Obsahy zrušených záznamů z tabulky se neexportují. Po importu dat doporučujeme uvolnit zrušené záznamy v tabulce.
Datový soubor ve vnitřním formátu 602SQL by měl mít příponu tdt.
Speciálním případem přenosu dat je přenos, kdy zdroj i cíl jsou tabulky 602SQL. Jedná se o operaci, při níž se hodnoty sloupců (a hodnoty vypočtené ze sloupců) z jisté množiny záznamů přidají do určené tabulky nebo novou tabulku vytvoří. Pro každý záznam z přenášené množiny se vezmou tytéž sloupce resp. spočtou tytéž výrazy a vyrobí se z nich jeden záznam v cílové tabulce.
Nejjednodušším příkladem použití je vytvoření kopie tabulky nebo odpovědi na dotaz v téže aplikaci. Kopie obsahuje sloupce a záznamy zdrojové tabulky specifikované v návrhu přenosu.
Modifikací dat budeme rozumět operaci, při níž se na jistém počtu záznamů jedné tabulky nebo dotazu provedou zadané operace, které mění hodnoty sloupců těchto záznamů. Přitom se se sloupci každého vybraného záznamu provedou stejné operace.
Modifikace dat se provede, pokud vybraný zdroj i cíl je tatáž tabulka 602SQL (resp. zdrojem je odpověď na dotaz z téže tabulky).
602SQL přímo podporuje přenos dat ve dvou textových formátech:
Pokud ve formátu CSV hodnota některého sloupce obsahuje znak, který se používá jako oddělovač hodnot, pak se celá hodnota uzavře do vhodných omezujících znaků, obvykle uvozovek. Pokud se tento omezující znak vyskytuje uvnitř zápisu hodnoty sloupce, pak se zdvojuje.
Ve sloupcovém formátu musí být data ve sloupcích oddělena mezerami, nikoli například tabulátory nebo jinými znaky. Jsou-li sloupce dat odděleny tabulátory, jedná se o variantu CSV formátu.
Pokud data exportovaná do textového formátu mají být importována zpět do 602SQL, je vhodné na první řádku umístit záhlaví obsahující jména sloupců, jimž jednotlivé hodnoty přísluší. Na základě tohoto záhlaví dokáže návrhář přenosu automaticky vytvořit vhodný popis přenosu (ve sloupcovém formátu musí být data v záhlaví oddělena alespoň jednou mezerou). První řádku obsahující záhlaví je pak třeba při importu přeskočit.
Při exportu tabulky (odpovědi na dotaz) obsahující sloupec typu Text z 602SQL do textového souboru se oddělovače řádek obsažené v textech nahradí mezerami, aby nenarušily členění souboru do řádek po záznamech (záznam = řádek). Řádky takto vzniklého souboru (CSV) mohou mít vzhledem k možné velikosti textů značnou délku. Na import do 602SQL nemá délka řádku vliv. U sloupcového formátu se exportuje pouze začátek textu ohraničený pozicí záhlaví.
Při exportu v textových formátech se exportují všechny sloupce kromě typů proměnné velikosti (až na CLOB).
Pokud má exportovaný sloupec hodnotu NULL, bude ve výstupním souboru prázdný (ve variantě CSV budou dva oddělovací znaky těsně u sebe).
Volitelný formát času a data je potřeba popsat podrobněji. Formáty jsou popsané "maskou" skládající se ze znaků označujících části data nebo času (D označuje den, M měsíc, C století, Y rok u data, H označuje hodinu, M minutu, S sekundu, F tisíciny sekundy u času) a oddělovačů (například tečka u data, dvojtečka u času). Uživatel si pro přenos zvolí formát z nabídky nejčastějších nebo si definuje formát vlastní tím, že "masku" formátu zapíše do editovatelného comba. Formát je součástí návrhu přenosu. Pokud žádný formát nevyhovuje, použijte v popisu přenosu konverzních funkcí Date2str nebo Time2str kde lze převzít obecně navržené formáty ve Windows.
Pro čtení z textového souboru platí tyto pravidlo:
Formát souboru DBF slouží k výměně dat se systémy jako dBase, FoxPro, Clipper apod. Data jsou v něm obsažena v jednom nebo dvou souborech - případný druhý soubor slouží k uložení hodnot tzv. memo-polí. Formát prvního souboru je (víceméně) pevný, zatímco formát druhého má mnoho variant podle cílového systému a jeho verze.
Do 602SQL je zabudována podpora memo-formátu v dBase IV a FoxPro 2.0. Tyto formáty jsou akceptovány řadou systému.
Názvy sloupců v DBF formátu mají délku maximálně 10 znaků, proto při exportu dat do DBF dochází k oříznutí jmen sloupců na délku 10. Na to je tčeba myslit při zpětném importu do tabulky se stejnou strukturou, kdy návrhář nemůže jednoduše ztotožnit tato dvě rozdílná jména sloupců a do implicitního návrhu importu je nezahrne.
![]() | Návrhář přenosů dat | ![]() | Přenosy dat | Popis přenosu | ![]() |