Database
 sql >> Base de données >  >> RDS >> Database

Fichiers DSN et logiciel IRI

Un fichier DSN (nom de source de base de données) permet à plusieurs utilisateurs de se connecter à une base de données avec des informations dans un fichier plat. Il est utilisé par le programme client de la base de données (dans ce cas, le logiciel de l'IRI Workbench) pour se connecter à une base de données.

Le fichier DSN décrit des propriétés telles que :le nom et le répertoire de la source de données, le pilote de connexion, l'adresse du serveur, l'ID utilisateur et un mot de passe. Il est utilisé par les pilotes ODBC pour se connecter à toute base de données prenant en charge ce protocole. Généralement stockés sous forme de texte brut, les fichiers DSN offrent :

  1. Commodité :ils éliminent le besoin de configurer les connexions localement.
  2. Portabilité :ils peuvent être partagés entre différents utilisateurs et facilement modifiés.
  3. Sécurité :ils peuvent être enregistrés dans des référentiels, tels que Git, avec un accès restreint.

Les étapes ci-dessous montrent comment créer et utiliser des fichiers DSN avec des scripts de travail IRI (CoSort SortCL, etc.) lorsque /PROCESS=ODBC est utilisé pour traiter des données dans des bases de données relationnelles.

Étape 1 – Obtenez et installez le pilote ODBC pour votre client et votre serveur

Pour créer un fichier DSN, assurez-vous d'avoir le bon pilote ODBC pour votre base de données et son serveur ; par exemple, MySQL sous Windows. Pour cette description, supposons que la base de données et le serveur se trouvent sur une machine locale.

Étape 2 – Localisez et inspectez le odbcinst. ini fichier (connecteur)

Dans chaque cas, vous avez besoin d'un fichier odbcinst.ini pour servir de connecteur entre votre bibliothèque de pilotes ODBC et le fichier DSN qui y fait référence. Ce fichier contient les informations d'emplacement/lien requises par le fichier DSN.

J'utilise MySQL sur un PC Windows 7. Avec la plupart des autres systèmes d'exploitation, ces étapes peuvent être différentes et peuvent être modifiées avec des informations trouvées sur les recherches qui expliquent comment se connecter à différents types de serveurs.

Mon fichier odbcinst.ini se trouve dans C:\Windows. Si vous ne le trouvez pas, vous pouvez l'obtenir sur le site officiel du serveur de votre choix, s'il prend en charge l'installation des informations dans le fichier odbcinst.ini.

Le fichier odbcinst.ini suivant a été créé par MySQL à l'aide de leur installation de connecteur.

Vous pouvez également entrer manuellement les mêmes détails que vous voyez dans les miens :

[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

Chaque système d'exploitation sera différent et ce fichier peut être configuré de plusieurs manières. À titre d'exemple, ce qui suit a été saisi par un utilisateur dans un fichier odbcinst.ini sous Linux :

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

Une fois votre fichier connecteur correctement configuré, passez à l'étape suivante :

Étape 3 - Créer le fichier DSN

Pour cet exemple, on suppose qu'il existe une base de données MySQL appelée "clients" qui a une table appelée "loyal" contenant des noms et des numéros de téléphone pour suivre les clients fidèles. J'ai saisi la variable DSN manuellement dans mon exemple, mais l'utilitaire d'administration ODBC de Windows peut créer un fichier DSN pour vous via l'onglet Fichier DSN.

Les variables minimales requises pour tout fichier DSN sont :

[ODBC]
DRIVER=
DATABASE=
SERVER=

La variable DRIVER provient du fichier odbcinst.ini. Dans l'exemple Windows ci-dessus, vous entreriez MySQL ODBC 5.3 Unicode Driver (32bit).

La DATABASE est le nom de la base de données à laquelle accéder, dans ce cas, "clients".

Le SERVEUR est l'emplacement de la base de données. Dans ce cas, l'emplacement est "localhost" (car la base de données se trouve sur la machine locale).

Le fichier DSN complété contiendra :

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

Notez que la spécification DRIVER doit correspondre exactement au texte de l'en-tête entre crochets applicable au pilote dans le fichier odbcinst.ini. Le fichier DSN doit contenir les détails de la connexion au serveur de base de données, que l'exécutable s'exécute sur le client de conception de travail ou sur un serveur de production/base de données.

Un fichier DSN peut contenir plus d'informations. Dans cet exemple, les trois lignes qui seront ajoutées sont :UID, PASSWORD et PORT. L'UID est tout ID utilisateur qui a accès au serveur. Ici, l'UID est root et le PASSWORD est "mypassword". J'ai utilisé le port MySQL par défaut, 3306.

Le fichier DSN mis à jour contiendra :

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

Le fichier DSN peut maintenant être enregistré sous n'importe quel nom avec une extension .dsn. J'ai spécifié TEST.DSN.

Tout script de travail IRI (basé sur le programme CoSort SortCL, y compris NextForm et FieldShield), peut utiliser les informations du fichier DSN lorsque /PROCESS=ODBC est spécifié et que la déclaration du fichier d'entrée ou de sortie contient le paramètre FILEDSN défini égal au fichier .DSN.

Ce script de tâche SortCL utilise le fichier DSN ci-dessus :

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

Comme l'illustre l'exemple ci-dessus, le chemin absolu vers le fichier DSN doit être spécifié.

Les DSN de fichiers peuvent être enregistrés dans le registre des connexions de données comme toutes les autres connexions ODBC. Accédez à Préférences > Registre des connexions de données > Ajouter . Sélectionnez Fichier DSN et entrez l'emplacement de votre fichier. Cette connexion peut ensuite être utilisée dans les assistants de Workbench.

Consultez cet article sur l'enregistrement de vos connexions à la base de données dans IRI Workbench et contactez [email protected] si vous avez besoin d'aide.