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

DSN-filer og IRI-software

En DSN-fil (database source name) giver flere brugere mulighed for at oprette forbindelse til en database med information i en flad fil. Det bruges af databaseklientprogrammet - i dette tilfælde software i IRI Workbench - til at oprette forbindelse til en database.

DSN-filen beskriver egenskaber såsom:datakildens navn og bibliotek, forbindelsesdriveren, serveradressen, bruger-id og en adgangskode. Det bruges af ODBC-drivere til at oprette forbindelse til enhver database, der understøtter denne protokol. DSN-filer, der typisk gemmes som almindelig tekst, tilbyder:

  1. Bekvemmelighed – de eliminerer behovet for at konfigurere forbindelser lokalt.
  2. Portabilitet – de kan deles mellem forskellige brugere og nemt ændres.
  3. Sikkerhed – de kan gemmes i repositories, som Git, med begrænset adgang.

Trinene nedenfor viser, hvordan du opretter og bruger DSN-filer med IRI-jobscripts (CoSort SortCL, etc.), når /PROCESS=ODBC bruges til at behandle data i relationelle databaser.

Trin 1 – Hent og installer ODBC-driveren til din klient og server

For at bygge en DSN-fil skal du sikre dig, at du har den rigtige ODBC-driver til din database og dens server; f.eks. MySQL på Windows. For denne beskrivelse skal du antage, at databasen og serveren er på en lokal maskine.

Trin 2 – Find og inspicér odbcinst. ini (connector)-fil

I hvert tilfælde skal du bruge en odbcinst.ini-fil til at fungere som en forbindelse mellem dit ODBC-driverbibliotek og DSN-filen, der refererer til den. Denne fil indeholder den placering/linkinformation, som DSN-filen kræver.

Jeg kører MySQL på en Windows 7 pc. Med de fleste andre operativsystemer kan disse trin være anderledes og kan modificeres med oplysninger, der findes på søgninger, der forklarer, hvordan man opretter forbindelse til forskellige slags servere.

Min odbcinst.ini fil er tilfældigvis i C:\Windows. Hvis du ikke kan finde det, kan du hente det fra din valgte servers officielle websted, hvis de understøtter installation af oplysningerne i odbcinst.ini-filen.

Følgende odbcinst.ini-fil blev oprettet af MySQL ved hjælp af deres connector-installation.

Du kan også manuelt indtaste de samme detaljer, som du ser i min:

[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

Hvert operativsystem vil være forskelligt, og denne fil kan konfigureres på flere måder. Som et eksempel blev følgende indtastet af en bruger i en odbcinst.ini-fil på Linux:

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

Når din forbindelsesfil er korrekt konfigureret, skal du gå videre til næste trin:

Trin 3 – Opret DSN-filen

For dette eksempel antages det, at der er en MySQL-database kaldet "klienter", der har en tabel kaldet "loyal", der indeholder navne og telefonnumre til at spore loyale kunder. Jeg indtastede DSN-variablen manuelt i mit eksempel, men Windows ODBC-administratorværktøjet kan oprette en DSN-fil til dig via fanen File DSN.

De minimumsvariabler, der kræves for enhver DSN-fil, er:

[ODBC]
DRIVER=
DATABASE=
SERVER=

DRIVER-variablen kommer fra filen odbcinst.ini. I Windows-eksemplet ovenfor skal du indtaste MySQL ODBC 5.3 Unicode Driver (32bit).

DATABASEN er navnet på den database, der skal tilgås, i dette tilfælde "klienter".

SERVEREN er databasens placering. I dette tilfælde er placeringen "localhost" (da databasen er på den lokale maskine).

Den udfyldte DSN-fil vil indeholde:

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

Bemærk, at DRIVER-specifikationen skal stemme nøjagtigt overens med teksten i overskriften i parentes, der gælder for driveren i filen odbcinst.ini. DSN-filen skal indeholde detaljerne for databaseserverforbindelsen, uanset om den eksekverbare fil kører på jobdesignklienten eller en produktions-/databaseserver.

En DSN-fil kan have flere oplysninger. I dette eksempel er de tre linjer, der tilføjes:UID, PASSWORD og PORT. UID'et er ethvert bruger-id, der har adgang til serveren. Her er UID root, og ADGANGSORDEN er "mit kodeord." Jeg brugte standard MySQL-porten, 3306.

Den opdaterede DSN-fil vil indeholde:

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

DSN-filen kan nu gemmes under et hvilket som helst navn med filtypenavnet .dsn. Jeg specificerede TEST.DSN.

Ethvert IRI-jobscript (baseret på CoSort SortCL-programmet, inklusive NextForm og FieldShield), kan bruge DSN-filoplysningerne, når /PROCESS=ODBC er angivet, og input- eller outputfilerklæringen indeholder FILEDSN-parametersættet, der er lig med .DSN-filen.

Dette SortCL-jobscript bruger DSN-filen ovenfor:

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

Som eksemplet ovenfor illustrerer, skal den absolutte sti til DSN-filen angives.

Filens DSN'er kan registreres i Data Connection Registry ligesom alle andre ODBC-forbindelser. Gå til Indstillinger> Dataforbindelsesregister> Tilføj . Vælg File DSN og indtast placeringen af ​​din fil. Denne forbindelse kan derefter bruges i guider i hele Workbench.

Se denne artikel om registrering af dine databaseforbindelser i IRI Workbench, og kontakt [email protected], hvis du har brug for hjælp.


  1. Hvordan laver man en sikkerhedskopi af en enkelt tabel i en postgres-database?

  2. hvordan man bruger dbms_scheduler til at køre jobbet hvert 30. minut

  3. Hvordan transaction_timestamp() virker i PostgreSQL

  4. SQL-operatører