Vad är egentligen skillnaden mellan DSN-koppling eller DSN-lös koppling?
Vilket är att föredra?
På mitt webhotell kan jag konfigurera DSN-kopplingar till min hemsida. Den hemsida jag skapat har dock DSN-lösa kopplingar. Hur ska jag i så fall ändra dessa, om jag nu ska göra det? Har jag något att "vinna" på detta?
De ser idag ut så här:
<%
Set Connection = Server.CreateObject("ADODB.Connection")
dbFilePath = Server.MapPath("db\db.mdb")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & dbFilePath & ";"
SQLStmt = "SELECT * FROM Medlemmar"
Set RS = Connection.Execute(SQLStmt)
%>
ehh? alla kopplingar väl DSN kopplingar?
fil-DSN och system-DSN.
I fil-DSN så skapas en koppling till databasen när den behövs, dvs det anges i koden.
I system-DSN så görs kopplingen i op-systemet (i windows 98 i 32 bitars ODBC i kontrollpanelen) då ger man helt enkelt databaskopplingen ett namn.
Prestandamässigt är jag lite osäker, har dock läst någonstans (Charles Carrol) att fil-DSN var snabbare.
Säkerhetsmässigt så är den system-DSN som gäller. Databasen kan placeras utanför www roten, eller tom. på en annan server (MS-SQL). Kan tänka mig att om det är många användare, så kan systemet hantera resursen bättre.
Egentligen så kan man kolla i Microsofts dokumentation, dom om några borde veta...