Plik DSN (nazwa źródła bazy danych) umożliwia wielu użytkownikom łączenie się z bazą danych z informacjami w pliku tekstowym. Jest używany przez program klienta bazy danych — w tym przypadku oprogramowanie w IRI Workbench — do łączenia się z bazą danych.
Plik DSN opisuje właściwości, takie jak:nazwa i katalog źródła danych, sterownik połączenia, adres serwera, identyfikator użytkownika i hasło. Jest używany przez sterowniki ODBC do łączenia się z dowolną bazą danych obsługującą ten protokół. Zazwyczaj przechowywane jako zwykły tekst, pliki DSN oferują:
- Wygoda – eliminują potrzebę lokalnego konfigurowania połączeń.
- Przenośność – można je udostępniać różnym użytkownikom i łatwo zmieniać.
- Bezpieczeństwo – można je zapisywać w repozytoriach, takich jak Git, z ograniczonym dostępem.
Poniższe kroki pokazują, jak tworzyć i używać plików DSN ze skryptami zadań IRI (CoSort SortCL itp.), gdy do przetwarzania danych w relacyjnych bazach danych używany jest /PROCESS=ODBC.
Krok 1 – Uzyskaj i zainstaluj sterownik ODBC dla swojego klienta i serwera
Aby zbudować plik DSN, upewnij się, że masz odpowiedni sterownik ODBC dla swojej bazy danych i jej serwera; np. MySQL w systemie Windows. W tym opisie załóżmy, że baza danych i serwer znajdują się na komputerze lokalnym.
Krok 2 – Znajdź i sprawdź odbcinst. plik ini (łącznik)
W każdym przypadku potrzebny jest plik odbcinst.ini, który będzie służył jako łącznik między biblioteką sterownika ODBC a plikiem DSN, który się do niej odwołuje. Ten plik zawiera informacje o lokalizacji/łączu, których wymaga plik DSN.
Używam MySQL na komputerze z systemem Windows 7. W przypadku większości innych systemów operacyjnych te kroki mogą się różnić i można je modyfikować za pomocą informacji znalezionych podczas wyszukiwania, które wyjaśniają, jak łączyć się z różnymi rodzajami serwerów.
Mój plik odbcinst.ini znajduje się w C:\Windows. Jeśli nie możesz go znaleźć, możesz go pobrać z oficjalnej strony wybranego serwera, jeśli obsługuje ona instalowanie informacji z pliku odbcinst.ini.
Poniższy plik odbcinst.ini został utworzony przez MySQL przy użyciu ich instalacji konektora.
Możesz również ręcznie wprowadzić te same dane, które widzisz w moim:
[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żdy system operacyjny będzie inny, a plik ten można skonfigurować na wiele sposobów. Na przykład w pliku odbcinst.ini w systemie Linux użytkownik wprowadził następujące dane:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc3.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1
Po prawidłowym skonfigurowaniu pliku łącznika przejdź do następnego kroku:
Krok 3 – Utwórz plik DSN
W tym przykładzie założono, że istnieje baza danych MySQL o nazwie „klienci”, która zawiera tabelę o nazwie „lojalni” zawierającą nazwiska i numery telefonów do śledzenia lojalnych klientów. W moim przykładzie wpisałem zmienną DSN ręcznie, ale narzędzie administratora ODBC systemu Windows może utworzyć dla Ciebie plik DSN na karcie Plik DSN.
Minimalne zmienne wymagane dla dowolnego pliku DSN to:
[ODBC] DRIVER= DATABASE= SERVER=
Zmienna DRIVER pochodzi z pliku odbcinst.ini. W powyższym przykładzie Windows należy wprowadzić sterownik Unicode MySQL ODBC 5.3 (32-bitowy).
BAZA DANYCH to nazwa bazy danych, do której należy uzyskać dostęp, w tym przypadku „klienci”.
SERWER to lokalizacja bazy danych. W tym przypadku lokalizacja to „localhost” (ponieważ baza danych znajduje się na komputerze lokalnym).
Wypełniony plik DSN będzie zawierał:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver (32 bit) DATABASE=clients SERVER=localhost
Pamiętaj, że specyfikacja DRIVER musi dokładnie odpowiadać tekstowi w nagłówku w nawiasach, który dotyczy sterownika w pliku odbcinst.ini. Plik DSN musi zawierać szczegóły dotyczące połączenia z serwerem bazy danych, niezależnie od tego, czy plik wykonywalny działa na kliencie projektu zadania, czy na serwerze produkcyjnym/bazy danych.
Plik DSN może zawierać więcej informacji. W tym przykładzie trzy wiersze, które zostaną dodane, to:UID, PASSWORD i PORT. UID to dowolny identyfikator użytkownika, który ma dostęp do serwera. Tutaj UID to root, a HASŁO to „moje hasło”. Użyłem domyślnego portu MySQL, 3306.
Zaktualizowany plik DSN będzie zawierał:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver DATABASE=clients SERVER=localhost UID=root PASSWORD=mypassword PORT=3306
Plik DSN można teraz zapisać pod dowolną nazwą z rozszerzeniem .dsn. Określiłem TEST.DSN.
Każdy skrypt zadania IRI (na podstawie programu CoSort SortCL, w tym NextForm i FieldShield), może używać informacji o pliku DSN, gdy określono /PROCESS=ODBC, a deklaracja pliku wejściowego lub wyjściowego zawiera zestaw parametrów FILEDSN równy plikowi .DSN.
Ten skrypt zadania SortCL używa powyższego pliku 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 ilustruje powyższy przykład, należy podać bezwzględną ścieżkę do pliku DSN.
Pliki DSN można zarejestrować w rejestrze połączeń danych, tak jak wszystkie inne połączenia ODBC. Przejdź do Preferencje> Rejestr połączeń danych> Dodaj . Wybierz pozycję DSN pliku i wprowadź lokalizację pliku. To połączenie może być następnie używane w kreatorach w całym Workbenchu.
Zobacz ten artykuł na temat rejestrowania połączeń z bazą danych w IRI Workbench i skontaktuj się z [email protected], jeśli potrzebujesz pomocy.