sql >> Databasteknik >  >> RDS >> Database

DSN-filer och IRI-programvara

En DSN-fil (database source name) tillåter flera användare att ansluta till en databas med information i en platt fil. Den används av databasklientprogrammet – i det här fallet programvaran i IRI Workbench — för att ansluta till en databas.

DSN-filen beskriver egenskaper som:datakällans namn och katalog, anslutningsdrivrutinen, serveradressen, användar-ID och ett lösenord. Det används av ODBC-drivrutiner för att ansluta till vilken databas som helst som stöder det protokollet. Normalt lagras som vanlig text, DSN-filer erbjuder:

  1. Bekvämlighet – de eliminerar behovet av att konfigurera anslutningar lokalt.
  2. Bärbarhet – de kan delas mellan olika användare och enkelt ändras.
  3. Säkerhet – de kan sparas i arkiv, som Git, med begränsad åtkomst.

Stegen nedan visar hur man skapar och använder DSN-filer med IRI-jobbskript (CoSort SortCL, etc.) när /PROCESS=ODBC används för att bearbeta data i relationsdatabaser.

Steg 1 – Skaffa och installera ODBC-drivrutinen för din klient och server

För att bygga en DSN-fil, se till att du har rätt ODBC-drivrutin för din databas och dess server; t.ex. MySQL på Windows. För denna beskrivning, anta att databasen och servern finns på en lokal dator.

Steg 2 – Leta upp och inspektera odbcinst. ini (anslutningsfil)

I varje fall behöver du en odbcinst.ini-fil för att fungera som en koppling mellan ditt ODBC-drivrutinsbibliotek och DSN-filen som refererar till den. Den här filen innehåller plats-/länkinformationen som DSN-filen kräver.

Jag kör MySQL på en Windows 7 PC. Med de flesta andra operativsystem kan dessa steg vara annorlunda och kan modifieras med information som finns i sökningar som förklarar hur man ansluter till olika typer av servrar.

Min odbcinst.ini-fil råkar vara i C:\Windows. Om du inte kan hitta den kan du hämta den från din valda servers officiella webbplats, om de stöder installation av informationen i odbcinst.ini-filen.

Följande odbcinst.ini-fil skapades av MySQL med deras anslutningsinstallation.

Du kan också manuellt ange samma 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

Varje operativsystem kommer att vara olika, och den här filen kan ställas in på flera sätt. Som ett exempel skrevs följande in av en användare 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 anslutningsfil är korrekt konfigurerad, gå vidare till nästa steg:

Steg 3 – Skapa DSN-filen

För det här exemplet antas det att det finns en MySQL-databas som heter "klienter" som har en tabell som heter "lojala" som innehåller namn och telefonnummer för att spåra lojala kunder. Jag skrev in DSN-variabeln manuellt i mitt exempel, men Windows ODBC-administratörsverktyget kan skapa en DSN-fil åt dig via fliken File DSN.

De minimivariabler som krävs för alla DSN-filer är:

[ODBC]
DRIVER=
DATABASE=
SERVER=

Variabeln DRIVER kommer från filen odbcinst.ini. I Windows-exemplet ovan skulle du ange MySQL ODBC 5.3 Unicode Driver (32bit).

DATABASEN är namnet på databasen som ska nås, i det här fallet "klienter".

SERVER är databasplatsen. I det här fallet är platsen "localhost" (eftersom databasen finns på den lokala datorn).

Den färdiga DSN-filen kommer att innehålla:

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

Observera att DRIVER-specifikationen måste matcha exakt texten i rubriken inom parentes som gäller för drivrutinen i filen odbcinst.ini. DSN-filen måste innehålla information om databasserveranslutningen, oavsett om den körbara filen körs på jobbdesignklienten eller en produktions-/databasserver.

En DSN-fil kan ha mer information. I det här exemplet är de tre raderna som kommer att läggas till:UID, LÖSENORD och PORT. UID är vilket användar-ID som helst som har åtkomst till servern. Här är UID root, och LÖSENORD är "mitt lösenord." Jag använde standard MySQL-porten, 3306.

Den uppdaterade DSN-filen kommer att innehålla:

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

DSN-filen kan nu sparas under valfritt namn med tillägget .dsn. Jag angav TEST.DSN.

Alla IRI-jobbskript (baserat på CoSort SortCL-programmet, inklusive NextForm och FieldShield), kan använda DSN-filinformationen när /PROCESS=ODBC är angivet och ingångs- eller utdatafilsdeklarationen innehåller parameteruppsättningen FILEDSN som är lika med .DSN-filen.

Detta SortCL-jobbskript använder DSN-filen ovan:

/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 exemplet ovan illustrerar måste den absoluta sökvägen till DSN-filen anges.

Filens DSN:er kan registreras i dataanslutningsregistret precis som alla andra ODBC-anslutningar. Gå till Inställningar> Dataanslutningsregister> Lägg till . Välj File DSN och ange platsen för din fil. Denna anslutning kan sedan användas i guider i hela Workbench.

Se den här artikeln om hur du registrerar dina databasanslutningar i IRI Workbench och kontakta [email protected] om du behöver hjälp.


  1. Hur man får id från databasen genom att klicka på listview-objektet i Android

  2. SQL Server BULK INSERT från Linux

  3. Använda PostgreSQL-korrelationsfunktionen

  4. Postgres:Lägg till begränsning om den inte redan finns