sql >> Database >  >> RDS >> Database

DSN-bestanden en IRI-software

Met een DSN-bestand (databasebronnaam) kunnen meerdere gebruikers verbinding maken met een database met informatie in een plat bestand. Het wordt gebruikt door het databaseclientprogramma (in dit geval software in de IRI Workbench) om verbinding te maken met een database.

Het DSN-bestand beschrijft eigenschappen zoals:de naam en directory van de gegevensbron, het verbindingsstuurprogramma, het serveradres, gebruikers-ID en een wachtwoord. Het wordt gebruikt door ODBC-stuurprogramma's om verbinding te maken met elke database die dat protocol ondersteunt. Meestal opgeslagen als platte tekst, bieden DSN-bestanden:

  1. Gemak - ze elimineren de noodzaak om verbindingen lokaal te configureren.
  2. Draagbaarheid – ze kunnen worden gedeeld door verschillende gebruikers en eenvoudig worden gewijzigd.
  3. Beveiliging – ze kunnen worden opgeslagen in repositories, zoals Git, met beperkte toegang.

De onderstaande stappen laten zien hoe u DSN-bestanden kunt maken en gebruiken met IRI-taakscripts (CoSort SortCL, enz.) wanneer /PROCESS=ODBC wordt gebruikt om gegevens in relationele databases te verwerken.

Stap 1 – Verkrijg en installeer het ODBC-stuurprogramma voor uw client en server

Om een ​​DSN-bestand te bouwen, moet u ervoor zorgen dat u de juiste ODBC-driver voor uw database en zijn server hebt; bijvoorbeeld MySQL op Windows. Neem voor deze beschrijving aan dat de database en server zich op een lokale computer bevinden.

Stap 2 – Lokaliseer en inspecteer de odbcinst. ini (connector) bestand

In elk geval hebt u een odbcinst.ini-bestand nodig om te dienen als connector tussen uw ODBC-stuurprogrammabibliotheek en het DSN-bestand dat ernaar verwijst. Dit bestand bevat de locatie-/linkinformatie die het DSN-bestand nodig heeft.

Ik gebruik MySQL op een pc met Windows 7. Bij de meeste andere besturingssystemen kunnen deze stappen anders zijn en kunnen ze worden aangepast met informatie over zoekopdrachten waarin wordt uitgelegd hoe u verbinding kunt maken met verschillende soorten servers.

Mijn bestand odbcinst.ini bevindt zich toevallig in C:\Windows. Als je het niet kunt vinden, kun je het ophalen van de officiële site van de door jou gekozen server, als ze het installeren van de informatie in het odbcinst.ini-bestand ondersteunen.

Het volgende odbcinst.ini-bestand is gemaakt door MySQL met behulp van hun connectorinstallatie.

Je kunt ook handmatig dezelfde details invoeren die je in de mijne ziet:

[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

Elk besturingssysteem is anders en dit bestand kan op meerdere manieren worden ingesteld. Als voorbeeld is het volgende ingevoerd door een gebruiker in een odbcinst.ini-bestand op Linux:

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

Zodra uw connectorbestand correct is geconfigureerd, gaat u naar de volgende stap:

Stap 3 – Maak het DSN-bestand

Voor dit voorbeeld wordt aangenomen dat er een MySQL-database is met de naam "clients" met een tabel met de naam "loyal" met namen en telefoonnummers om loyale klanten te volgen. In mijn voorbeeld heb ik de DSN-variabele handmatig ingevoerd, maar het Windows ODBC-beheerdershulpprogramma kan een DSN-bestand voor u maken via het tabblad Bestands-DSN.

De minimaal vereiste variabelen voor elk DSN-bestand zijn:

[ODBC]
DRIVER=
DATABASE=
SERVER=

De variabele DRIVER komt uit het bestand odbcinst.ini. In het bovenstaande Windows-voorbeeld zou u MySQL ODBC 5.3 Unicode Driver (32bit) invoeren.

De DATABASE is de naam van de database waartoe toegang moet worden verkregen, in dit geval 'clients'.

De SERVER is de databaselocatie. In dit geval is de locatie "localhost" (aangezien de database zich op de lokale computer bevindt).

Het ingevulde DSN-bestand bevat:

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

Houd er rekening mee dat de DRIVER-specificatie exact moet overeenkomen met de tekst in de koptekst tussen haakjes die van toepassing is op het stuurprogramma in het bestand odbcinst.ini. Het DSN-bestand moet de details voor de databaseserververbinding bevatten, ongeacht of het uitvoerbare bestand wordt uitgevoerd op de taakontwerpclient of op een productie-/databaseserver.

Een DSN-bestand kan meer informatie bevatten. In dit voorbeeld zijn de drie regels die worden toegevoegd:UID, PASSWORD en PORT. De UID is een gebruikers-ID die toegang heeft tot de server. Hier is de UID root en het PASWOORD is "mijnwachtwoord". Ik heb de standaard MySQL-poort gebruikt, 3306.

Het bijgewerkte DSN-bestand bevat:

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

Het DSN-bestand kan nu worden opgeslagen onder elke naam met de extensie .dsn. Ik heb TEST.DSN opgegeven.

Elk IRI-taakscript (gebaseerd op het CoSort SortCL-programma, inclusief NextForm en FieldShield), kan de DSN-bestandsinformatie gebruiken wanneer /PROCESS=ODBC is opgegeven en de invoer- of uitvoerbestandsdeclaratie de FILEDSN-parameterset bevat die gelijk is aan het .DSN-bestand.

Dit SortCL-jobscript gebruikt het bovenstaande DSN-bestand:

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

Zoals het bovenstaande voorbeeld illustreert, moet het absolute pad naar het DSN-bestand worden opgegeven.

De bestands-DSN's kunnen net als alle andere ODBC-verbindingen worden geregistreerd in het Data Connection Registry. Ga naar Voorkeuren> Register gegevensverbinding> Toevoegen . Selecteer Bestands-DSN en voer de locatie van uw bestand in. Deze verbinding kan vervolgens worden gebruikt in wizards in Workbench.

Zie dit artikel over het registreren van uw databaseverbindingen in IRI Workbench en neem contact op met [email protected] als u hulp nodig heeft.


  1. 5 probleemloze tips om SQL UPDATE-instructie te gebruiken met JOIN

  2. SQL Always On-beschikbaarheidsgroepen:computerobjecten

  3. Tips en trucs met behulp van Audit Logging voor MariaDB

  4. orakel varchar naar nummer