Soubor DSN (database source name) umožňuje více uživatelům připojit se k databázi s informacemi v plochém souboru. Používá jej klientský program databáze – v tomto případě software v IRI Workbench – k připojení k databázi.
Soubor DSN popisuje vlastnosti, jako jsou:název zdroje dat a adresář, ovladač připojení, adresa serveru, ID uživatele a heslo. Používají jej ovladače ODBC pro připojení k jakékoli databázi podporující daný protokol. Soubory DSN, které jsou obvykle uloženy jako prostý text, nabízejí:
- Pohodlí – eliminují nutnost konfigurovat připojení lokálně.
- Přenositelnost – lze je sdílet mezi různými uživateli a snadno je měnit.
- Zabezpečení – lze je uložit do úložišť, jako je Git, s omezeným přístupem.
Níže uvedené kroky ukazují, jak vytvořit a používat soubory DSN se skripty úloh IRI (CoSort SortCL atd.), když se /PROCESS=ODBC používá ke zpracování dat v relačních databázích.
Krok 1 – Získejte a nainstalujte ovladač ODBC pro svého klienta a server
Chcete-li vytvořit soubor DSN, ujistěte se, že máte správný ovladač ODBC pro vaši databázi a její server; např. MySQL v systému Windows. Pro tento popis předpokládejme, že databáze a server jsou na lokálním počítači.
Krok 2 – Najděte a zkontrolujte odbcinst. ini (soubor konektoru)
V každém případě potřebujete soubor odbcinst.ini, který bude sloužit jako spojnice mezi vaší knihovnou ovladače ODBC a souborem DSN, který na ni odkazuje. Tento soubor obsahuje informace o umístění/odkazu, které soubor DSN vyžaduje.
Používám MySQL na počítači s Windows 7. U většiny ostatních operačních systémů se tyto kroky mohou lišit a lze je upravit pomocí informací nalezených při vyhledávání, které vysvětlují, jak se připojit k různým druhům serverů.
Můj soubor odbcinst.ini je náhodou v C:\Windows. Pokud jej nemůžete najít, můžete jej získat z oficiálních stránek vámi zvoleného serveru, pokud podporují instalaci informací do souboru odbcinst.ini.
Následující soubor odbcinst.ini byl vytvořen MySQL pomocí jejich instalace konektoru.
Můžete také ručně zadat stejné údaje, které vidíte v mém:
[MySQL ODBC 5.3 Unicode Driver (32 bit)] Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5w.dll Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll 32Bit=1 [MySQL ODBC 5.3 ANSI Driver (32 bit)] Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5a.dll Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll 32Bit=1
Každý operační systém bude jiný a tento soubor lze nastavit několika způsoby. Následující příklad zadal uživatel do souboru odbcinst.ini v systému Linux:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc3.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1
Jakmile je soubor konektoru správně nakonfigurován, přejděte k dalšímu kroku:
Krok 3 – Vytvořte soubor DSN
V tomto příkladu se předpokládá, že existuje databáze MySQL nazvaná „klienti“, která má tabulku nazvanou „loajální“ obsahující jména a telefonní čísla pro sledování věrných klientů. Ve svém příkladu jsem proměnnou DSN zadal ručně, ale nástroj pro správu ODBC systému Windows vám může vytvořit soubor DSN na kartě Soubor DSN.
Minimální proměnné požadované pro jakýkoli soubor DSN jsou:
[ODBC] DRIVER= DATABASE= SERVER=
Proměnná DRIVER pochází ze souboru odbcinst.ini. Ve výše uvedeném příkladu Windows byste zadali MySQL ODBC 5.3 Unicode Driver (32bit).
DATABASE je název databáze, ke které se má přistupovat, v tomto případě „klienti“.
SERVER je umístění databáze. V tomto případě je umístění „localhost“ (neboť databáze je na místním počítači).
Dokončený soubor DSN bude obsahovat:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver (32 bit) DATABASE=clients SERVER=localhost
Pamatujte, že specifikace DRIVER se musí přesně shodovat s textem v závorce v záhlaví platném pro ovladač v souboru odbcinst.ini. Soubor DSN musí obsahovat podrobnosti o připojení k databázovému serveru, ať už spustitelný soubor běží na klientovi návrhu úlohy nebo na produkčním/databázovém serveru.
Soubor DSN může obsahovat více informací. V tomto příkladu budou přidány tři řádky:UID, PASSWORD a PORT. UID je jakékoli uživatelské ID, které má přístup k serveru. Zde je UID root a PASSWORD je „moje heslo“. Použil jsem výchozí port MySQL, 3306.
Aktualizovaný soubor DSN bude obsahovat:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver DATABASE=clients SERVER=localhost UID=root PASSWORD=mypassword PORT=3306
Soubor DSN lze nyní uložit pod libovolným názvem s příponou .dsn. Zadal jsem TEST.DSN.
Jakýkoli skript úlohy IRI (založený na programu CoSort SortCL včetně NextForm a FieldShield) může použít informace o souboru DSN, když je zadáno /PROCESS=ODBC a deklarace vstupního nebo výstupního souboru obsahuje sadu parametrů FILEDSN rovnou souboru .DSN.
Tento skript úlohy SortCL používá výše uvedený soubor DSN:
/INFILE="loyal;FILEDSN=C:\Users\LocalUser\Documents\Test.dsn;" /PROCESS=ODBC /ALIAS=loyal /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0) /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0) /REPORT /OUTFILE=stdout /PROCESS=RECORD /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0) /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0)
Jak ukazuje výše uvedený příklad, musí být zadána absolutní cesta k souboru DSN.
Souborové DSN lze registrovat v registru datových připojení stejně jako všechna ostatní připojení ODBC. Přejděte na Předvolby> Registr datového připojení> Přidat . Vyberte File DSN a zadejte umístění souboru. Toto připojení pak lze použít v průvodcích v rámci Workbench.
Přečtěte si tento článek o registraci připojení k databázi v IRI Workbench a pokud potřebujete pomoc, kontaktujte [email protected].