Database
 sql >> Baza danych >  >> RDS >> Database

Pliki DSN i oprogramowanie IRI

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ą:

  1. Wygoda – eliminują potrzebę lokalnego konfigurowania połączeń.
  2. Przenośność – można je udostępniać różnym użytkownikom i łatwo zmieniać.
  3. 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest testowanie bazy danych i jak je wykonać?

  2. T-SQL Wtorek #64:Jeden wyzwalacz czy wiele?

  3. Jak przekonwertować ciąg na wielkie litery w SQL?

  4. Zapytania SQL

  5. Przyjazne dla przepustowości profilowanie zapytań dla Azure SQL Database