Jak na MS SQL – import a export dat

5. června 2002

Import, export, replikace, zálohy nebo migrace dat efektivně, rychle a bez zbytečných marných pokusů a chyb a nejen v rámci MS SQL serveru? S Data Transformation Services Import/Export Wizard to opravdu není žádný problém.

Způsob uchování dat v MS SQL

V případě ukládání dat do textových souborů prostě přesunete daný soubor jinam a tím je vše vyřešeno. Microsoft Access a jeho soubory .MDB mají složitější strukturu, obsahují totiž kromě tabulek také dotazy, sestavy apod. Otázka importu/exportu dat se však i zde řeší jejich zkopírováním. Otevřít je lze na každém počítači se stejnou verzí Microsoft Accessu.

MS SQL žádnou takovou jednoduchou možnost nenabízí. Data ukládá pochopitelně také do souborů (typy .MDF a .LDF), ale neumožňuje vám k nim "nízkoúrovňový" přístup. Jediným způsobem, jak s daty pracovat, je využívat služeb MS SQL. Aplikace, která s nimi v této podobě dokáže smyslupně pracovat, je daná instance MS SQL serveru, která je vytvořila. Ani nakopírování do adekvátního adresáře jiné instanci, byť stejné verze serveru, nic nevyřeší.

Data Transformation Services

K importu a exportu dat a k jejich přesunu mezi jednotlivými MS SQL instancemi a instalacemi slouží DTS (Data Transformation Services). Přístup k těmto službám je nejlepší pomocí interaktivní okenní aplikace, nebo spíše průvodce. Data Transformation Services Import/Export Wizard je další z utilit, které jsou součástí instalace MS SQL. Spusťte ji přes zástupce Start | Programy | Microsoft SQL Server | Import and Export Data.

MS SQL Server - import a export dat - Data Transformation Services Import/Export Wizard
Data Transformation Services Import/Export Wizard

V následujících obrazovkách specifikujete, odkud a kam se mají data přesouvat a jak je během toho modifikovat. Pro určení zdrojového a cílového místa máte k dispozici všechny databázové ovladače, které jsou na počítači nainstalovány (OLE DB, ODBC atd.).

Určení zdroje dat – parametry exportu

Možnosti aplikace předvedu na příkladu převodu dat z MySQL do MS SQL.

MS SQL Server - import a export dat - Určení zdroje dat
určení zdroje dat

V dialogu Choose a Data Source určíte, odkud se budou data kopírovat. Pokud nastavíte jako datový zdroj nějaký dostupný ovladač MS SQL, budete exportovat z MS SQL. Zdrojem dat může být i jakýkoli jiný databázový server. Dokonce není ani nutné, aby MS SQL byl alespoň cílem dat, tj. import do MS SQL. Utilitu DTS Wizard lze použít na převod mezi libovolnými dvěma typy datových zdrojů.

Na obrázku jsem zvolil ODBC driver pro MySQL. Pokud nemáte zaregistrován žádný Data Source Name (DSN), klikněte na tlačítko New…. Objeví se průvodce na jeho přidání. Nezapomeňte zadat platné uživatelské jméno a heslo, pokud již není nastaveno v parametrech DSN.

Nastavení cíle dat, parametry importu

MS SQL Server - import a export dat - Nastavení cíle dat
nastavení cíle dat

Na obrázku je zvolen OLE DB driver pro přístup k MS SQL. Dále se nastavuje adresa serveru a přihlašovací údaje. Pro akce je třeba zvolit rovněž pracovní databázi. Pokud označíte v comboboxu <new>, máte možnost vytvořit databázi novou.

Co a jak kopírovat

MS SQL Server - import a export dat - Co a jak kopírovat
Co a jak kopírovat

V následující obrazovce průvodce Specify Table Copy or Query nastavujete, co a jak se bude kopírovat. Buď se zduplikují všechny tabulky a pohledy nebo specifikujete data pomocí SQL dotazu. Pokud je zdrojem i cílem MS SQL server, máte i třetí možnost, zkopírovat všechny objekty a veškerá data.

Dokončení nastavení

Další dialog zobrazuje seznam všech objektů (tabulek a pohledů) s možností výběru, které z nich budou zkopírovány a s možností upřesnění a změny jejich struktury (např. vynechání nebo konverze sloupce v tabulce). Poslední dialog před vlastním kopírováním ještě dává možnost uložit nastavení celého aktuálního průvodce pro pozdější použití a také nabízí odložení operace na zadanou hodinu a datum. Pak zahájíte vlastní kopírování dat. Nezapomeňte, že může trvat někdy i delší dobu.

Import/Export dat mezi MS SQL a textovým souborem

Je jistě hezké, že díky DTS můžete importovat/exportovat data téměř odkudkoli kamkoli. Někdy je však klasický textový soubor .TXT nebo .CSV s hodnotami oddělenými tabulátorem k nezaplacení. Jak na import dat ze souboru tohoto typu do MS SQL ukáži na následujícím příkladě. Export z MS SQL do .TXT je zcela analogický, jen se prohodí zdroj a cíl dat.

Úvodní obrazovky průvodce jistě již zvládnete podle předchozího příkladu. Při nastavování textového souboru jako zdroje dat vyberte v comboboxu Data source položku Text File a zadejte cestu k souboru. Jediné navíc a to hlavní a důležité je nastavení formátu textového souboru. DTS Wizard potřebuje vědět, jak jsou odděleny jednotlivé řádky a sloupce tabulky, jaké je záhlaví tabulky atd.

MS SQL Server - import a export dat - Struktura dat v textovém souboru
Struktura dat v textovém souboru

Jednotlivé sloupce v .TXT mohou být buď odděleny vždy stejným znakem (Delimited) nebo zarovnány pomocí mezer a tabulátorů do sloupců pevné šířky (Fixed field). Nový řádek tabulky nemusí odpovídat odřádkování v .TXT souboru, oddělovač nastavte v Row Delimiter. Volba First row has column names říká, že první řádek v .TXT je záhlaví tabulky (resp. názvy sloupců, datové typy musíte zvolit sami).

Ve druhém dialogu nastavení importu z .TXT se průvodce ptá na oddělovač jednotlivých položek v řádku (Specify column delimiter). Podle nastavení vidíte hned pro kontrolu náhled, jak DTS Wizard rozlišuje jednotlivé sloupce a řádky. Zbývající dialogy jsou shodné jako v předchozím příkladě.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Další článek Karlomix.cz
Štítky: Články

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *