Access 97 databaser
Access 2000 databaser (MDAC 2.x)
En liten sorglig sak som beör MDAC 2.x
Access 97
Samtliga exempel förutsätter att ni har en fil men namnet connection.asp som skall innehålla följande (OBS! En enda rad)
<%
Const strConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\databaser\aspkurs.mdb; DriverId=25; FIL=MS Access; MaxBufferSize=8192; MaxScanRows=8; PageTimeout=5; SafeTransactions=0; Threads=100;"
%> 
Allt med kursiv och grön stil kan bortlämnas om man snabbt vill testa och är nöjd med default värdena (som inte alltid är så lyckade) 
Om du har satt din databas i en underkatalog till dina websidor kan du använda följande konstruktion: 
<%
strConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./databaser/aspkurs.mdb") & " DriverId=25; FIL=MS Access; MaxBufferSize=8192; MaxScanRows=8; PageTimeout=5; SafeTransactions=0; Threads=100;";"
%>
Denna fil kan modifieras vid behov 
- Ändra databasnamnet och katalogen enligt behov
 
- Har du mindre än 64 MB ram så minska MaxBufferSize från 8192 till 4096
 
- Räknar du med låg belastning kan Threads minskas 
(Inställningarna tagna från tester med det ökända VapVal systemet = tål hög momentan belasting. Egentligen vet jag väl inte vad allt betyder, men skit samma, det fungerar!)
Access 2000
Har ni installerat ADO/MDAC 2.x (http://www.microsoft.com/data/) och skapat databsen med Access 2000 använder ni följande konstruktion istället: 
<%
Const strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\databaser\aspkurs.mdb;" %> 
Eller om du har databasen i en databaser katalog under din site: 
<%
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("./databaser/aspkurs.mdb") & ";" %> 
Observera att denna rad även fungerar med Access 97 men det är ingen större prestandafördel om ni inte har en Access 2000 databas. Detta eftersom OLEDB automatiskt "slår ner" till version 3.5 som i sin tur använder Jet Engine 3.5. 
Sök i Visual Studio 6.0 hjälpen eller på microsfts websajt efter "OLE DB Provider for Microsoft Jet" för mer om inställningar i OLEDB 
En liten sorglig sak som beör MDAC 2.x
Om du har satt databaserna i en helt separat katalog som inte finns under wwwroot eller din site så fungerar databaserna utan problem, men...
Om du har satt dina databaser i en underkatalog till din site kommer du att få probmel i och med en eventuell uppdatering till MDAC 2.x (2.5 sp1 i mitt fall).
Om du försöker dig på t.ex. följande kod: 
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn
strSQL = "UPDATE MY_COUNTER SET my_counter = [my_counter]+1"
Conn.Execute strSQL 
%> 
så kommer du att få ett glatt meddelande i stil med: 
Microsoft JET Database Engine
 error '80004005' 
Operation must use an updateable query. line 12 
 eller 
Microsoft OLE DB Provider for ODBC Drivers
 error '80004005' 
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query. line 12 
 
beroende på om du använde Provider=... eller Driver=...
Lösningen är att man måste göra följande:
- Starta NT/Windows Explorern 
- Sök fram den katalog som innehåller sin site 
- Välj databaskatalogen 
- Högerklicka på katalogen och välj Properties 
- Välj fliken Security 
- Klicka på Permissions knappen 
- Sök fram IUSR_xxxxx (Internet Guest Account), där xxxxx är datorn/serverns namn 
- Om där står Special Access (RX) dubbelklickar du på den raden 
- Se till att även Write (W) är valt och tag OK 
- Om IUSR_xxxxx inte finns i listan måste du ta Add 
- Välj vid behov rätt domän i List Names From och klicka sedan på Show Users 
- Välj i listan IUSR_xxxxx och klcka på Add 
- Gör sedan som i punkt 7 ovan 
- Stäng Permissions dialogen och svara jakande på eventuella frågor om replace .... 
- Kontrollera för säkerhets skull att Permissions på din .mdb fil är RXW för IUSR_xxxxx 
Och detta är ju förstås lätt att utföra på en Internet Providers server ???! Oh, Sweet World...
Varför blir jag nervös över write rättigheterna ??? Se för guds skull till att inte IIS har Write rättigheter. Endast Read behövs. Se mer i artikeln "Untangling Web Security: Getting the Most from IIS Security" i MSDN
Eftersom databasexemplen modifierar en verklig tabell så finns det alltid risken att någon modifierat eller radera allt data. Om så är fallet så finns det här en länk till en sida som kan återställa exempeltabellen [resetDatabase.asp] 
Se även db.asp för en beskrivning över exempeldatat 
Observera att databasen inte skall finnas i en katalog som har webaccess och absolut inte i samma katalog som de övriga sidorna