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:
- Bekvämlighet – de eliminerar behovet av att konfigurera anslutningar lokalt.
- Bärbarhet – de kan delas mellan olika användare och enkelt ändras.
- 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.