Database
 sql >> Database >  >> RDS >> Database

File DSN e software IRI

Un file DSN (database source name) consente a più utenti di connettersi a un database con informazioni in un file flat. Viene utilizzato dal programma client del database, in questo caso il software in IRI Workbench, per connettersi a un database.

Il file DSN descrive proprietà quali:il nome e la directory dell'origine dati, il driver di connessione, l'indirizzo del server, l'ID utente e una password. Viene utilizzato dai driver ODBC per connettersi a qualsiasi database che supporti quel protocollo. Tipicamente memorizzati come testo normale, i file DSN offrono:

  1. Convenienza:eliminano la necessità di configurare le connessioni in locale.
  2. Portabilità:possono essere condivisi tra utenti diversi e facilmente modificati.
  3. Sicurezza:possono essere salvati in repository, come Git, con accesso limitato.

I passaggi seguenti mostrano come creare e utilizzare file DSN con script di lavoro IRI (CoSort SortCL, ecc.) quando /PROCESS=ODBC viene utilizzato per elaborare i dati nei database relazionali.

Passaggio 1:ottieni e installa il driver ODBC per il tuo client e server

Per creare un file DSN, assicurati di avere il driver ODBC corretto per il tuo database e il suo server; ad esempio, MySQL su Windows. Per questa descrizione, supponiamo che il database e il server si trovino su una macchina locale.

Passaggio 2:individua e ispeziona il odbcinst. ini file (connettore)

In ogni caso, è necessario un file odbcinst.ini che funga da connettore tra la libreria del driver ODBC e il file DSN a cui fa riferimento. Questo file contiene le informazioni sulla posizione/collegamento richieste dal file DSN.

Sto eseguendo MySQL su un PC Windows 7. Con la maggior parte degli altri sistemi operativi, questi passaggi possono essere diversi e possono essere modificati con le informazioni trovate nelle ricerche che spiegano come connettersi a diversi tipi di server.

Il mio file odbcinst.ini si trova in C:\Windows. Se non riesci a trovarlo, puoi ottenerlo dal sito ufficiale del server scelto, se supportano l'installazione delle informazioni nel file odbcinst.ini.

Il seguente file odbcinst.ini è stato creato da MySQL utilizzando l'installazione del connettore.

Puoi anche inserire manualmente gli stessi dettagli che vedi nel mio:

[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

Ogni sistema operativo sarà diverso e questo file può essere configurato in diversi modi. Ad esempio, un utente ha inserito quanto segue in un file odbcinst.ini su Linux:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1

Dopo aver configurato correttamente il file del connettore, vai al passaggio successivo:

Fase 3:crea il file DSN

Per questo esempio, si presume che esista un database MySQL chiamato "clients" che ha una tabella chiamata "loyal" contenente nomi e numeri di telefono per tracciare i clienti fedeli. Ho inserito manualmente la variabile DSN nel mio esempio, ma l'utilità di amministrazione ODBC di Windows può creare un file DSN per te tramite la scheda File DSN.

Le variabili minime richieste per qualsiasi file DSN sono:

[ODBC]
DRIVER=
DATABASE=
SERVER=

La variabile DRIVER proviene dal file odbcinst.ini. Nell'esempio di Windows sopra, devi inserire MySQL ODBC 5.3 Unicode Driver (32bit).

Il DATABASE è il nome del database a cui accedere, in questo caso “client”.

Il SERVER è la posizione del database. In questo caso, la posizione è "localhost" (poiché il database si trova sulla macchina locale).

Il file DSN completato conterrà:

[ODBC]
DRIVER=MySQL ODBC 5.3 Unicode Driver (32 bit)
DATABASE=clients
SERVER=localhost

Tieni presente che la specifica DRIVER deve corrispondere esattamente al testo nell'intestazione tra parentesi applicabile al driver nel file odbcinst.ini. Il file DSN deve contenere i dettagli per la connessione al server del database, indipendentemente dal fatto che l'eseguibile venga eseguito sul client di progettazione del lavoro o su un server di produzione/database.

Un file DSN può avere più informazioni. In questo esempio, le tre righe che verranno aggiunte sono:UID, PASSWORD e PORT. L'UID è qualsiasi ID utente che ha accesso al server. Qui, l'UID è root e la PASSWORD è "mypassword". Ho usato la porta MySQL predefinita, 3306.

Il file DSN aggiornato conterrà:

[ODBC]
DRIVER=MySQL ODBC 5.3 Unicode Driver
DATABASE=clients
SERVER=localhost
UID=root
PASSWORD=mypassword
PORT=3306

Il file DSN può ora essere salvato con qualsiasi nome con estensione .dsn. Ho specificato TEST.DSN.

Qualsiasi script di lavoro IRI (basato sul programma CoSort SortCL, inclusi NextForm e FieldShield), può utilizzare le informazioni sul file DSN quando /PROCESS=ODBC è specificato e la dichiarazione del file di input o output contiene il set di parametri FILEDSN uguale al file .DSN.

Questo script di lavoro SortCL utilizza il file DSN sopra:

/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)

Come illustrato nell'esempio precedente, è necessario specificare il percorso assoluto del file DSN.

I file DSN possono essere registrati nel registro delle connessioni dati come tutte le altre connessioni ODBC. Vai a Preferenze> Registro connessione dati> Aggiungi . Seleziona File DSN e inserisci la posizione del tuo file. Questa connessione può quindi essere utilizzata nelle procedure guidate in Workbench.

Consulta questo articolo sulla registrazione delle connessioni al database in IRI Workbench e contatta [email protected] se hai bisogno di aiuto.