Rekommendationer för ASP och databaser
Om du följer dessa rekommendationer får du förhoppningsvis så få fel och problem som möjligt. Det finns förstås många olika sätt att göra varje operation på och alla sätt är ju bra utom de dåliga. Vi tycker oss dock funnit att med följande tips uppstår färre problem vid utvecklingen av ASP och databaser.
Gå direkt mot databasfilen
För att slippa vara beroende av att vi lägger in ett så kallat ODBC-namn, och därmed få full frihet att hantera valfritt antal databaser placerade var som helst i webbplatsen, rekommenderar vi att du alltid går direkt mot databasfilen.
Det betyder att du i Connection-strängen anger önskad drivrutin (databasformat) samt sökvägen till databasfilen. Du skall alltid använda OLEDB för att komma åt databasen.
Den lokala sökvägen på webbservern till en specifik databasfil i din webbplats kan du alltid ta reda på med hjälp av Server.MapPath. Om du skall öppna en koppling till en Microsoft Access-databas kan det se ut på följande vis:
Set conn = Server.CreateObject
("ADODB.Connection")
strFil = Server.MapPath("/priv/kdata55.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;
Data source=" & strFil
Databasdrivrutinen kan anges med "Provider"-parametern i Connection-strängen och sökvägen till databasfilen anges då med "Data source"-parametern.
För Microsoft Access-databaser är alltid "Provider=Microsoft.Jet.OLEDB.4.0". För SQL-databaser är alltid "Provider=SQLOLEDB".
Placera databasfilen i /priv-mappen
I det normala fallet gäller samma rättigheter för en databasfil som för en webbsida, d.v.s. vanliga besökare i webbplatsen kan läsa dess innehåll. Det betyder att en besökare som kan gissa sig till namnet på databasfilen kan hämta hela databasfilen genom att skriva in dess namn i adressrutan i webbläsaren.
Det bästa är därför att placera databasfilen i den speciella /priv-mappen. Denna mapp är speciell på så sätt att den automatiskt är skyddad från nedladdning. Vad du än placerar i en mapp med namnet "priv" i roten på din webbplats, så kan ingen besökare hämta dessa filer.
Håll inga connections öppna i sessionen eller applikationen
Att hålla en connection öppen mot databasen är resurskrävande. Databasåtkomsten OLEDB har i sig en teknik ("connection pooling") för att snabbt och effektivt återanvända connections, varför man aldrig själv skall behålla en connection öppen längre än nödvändigt.
Du skall därför alltid öppna (och stänga) databaskopplingen, alltså connection-objektet, i varje script som behöver komma åt databasen. Det är utan tvekan det effektivaste sättet!
Dirigera om vid tillägg i databas
Vid uppdatering och framförallt vid tillägg är det en god idé att alltid länka formuläret som ligger till grund för uppdateringen till en sida som endast innehåller scriptkod och som på slutet gör en omdirigering till en annan sida. ASP-scriptet som tar emot formulärets data och uppdaterar databasen skapar alltså ingen html-kod, utan för vidare besökaren till en annan webbsida.
Med en sådan metod undviker man felmeddelanden som "Denna sida är inte aktuell längre" och frågor såsom "Skall informationen postas igen?" som kan leda till att samma information oavsiktligt läggs till fler gånger. Detta är saker som annars lätt uppstår om man efteråt använder Bakåt- och Framåt-knapparna i webbläsaren.
Omdirigeringen görs sist i ASP-scriptet med hjälp av Response-objektets Redirect-metod.
Response.Redirect "lista.asp"
Använd räknare
För att identifiera rader i en databastabell bör alla tabeller innehålla en räknare. En räknare är en kolumn vars värde automatiskt underhålls av Access när nya rader läggs till. Om man direkt efter addering av en ny rad behöver veta den nya radens värde i denna kolumn kan man utnyttja det faktum att alla nya rader i ett recordset placeras sist. Det räcker alltså att göra en MoveLast efter Update för att ta reda på värdet.
rs.Update
rs.MoveLast
Response.Redirect "view.asp?id=" & rs("ID")
MS SQL Server inställningar
För att få tillgång till en Microsoft SQL Server-databas krävs ett Pro-abonnemang. Vidare förutsätter vi att du har tillgång till produkten Microsoft SQL Server 7.0 eller senare ("Desktop Edition" är fullt tillräcklig).
För att du skall kunna kommunicera med SQL Server via administrationsverktyget "Enterprise Manager" skall du först ställa in att protokollet "TCP/IP" skall användas för kommunikation med vår SQL Server. Denna inställning gör du på följande vis.
Starta programmet "Client Network Utility" som ingår i programgruppen för "Microsoft SQL Server". Det har följande utseende:

Växla till fliken "Alias" och klicka på Add-knappen och ställ in vår SQL-server enligt följande:

Vilket "Server alias" du väljer spelar inte så stor roll. Det är bara ett namn som du använder senare för att identifiera just denna inställning. Klicka OK i denna dialogruta. Avsluta sedan programmet genom att klicka OK en gång till.
Nästa steg är att lägga upp SQL-servern i "Enterprise Manager" och dess trädstruktur. Starta programmet "Enterprise Manager" som också finns i programgruppen "Microsoft SQL Server". Det har följande utseende:

Högerklicka på "SQL Server Group" och välj "New SQL Server Registration" från menyn. En guide startar då för att välja en SQL Server att lägga till i trädet. Klicka på Next-knappen i första informationsdialogen. Du kommer då till en dialogruta där du skall föra över namnet du skapade tidigare från den vänsta listan till den högra. Dialogrutan skall ha följande utseende när du är klar (eventuellt kan listan till vänster innehålla fler/andra servrar i ditt lokala nät):

Klicka på Next-knappen. I nästa steg väljer du SQL-påloggning enligt följande:

Klicka på Next-knappen. I nästa steg är det upp till dig om du vill lagra användarnamnet och lösenordet i din dator, eller om du vill ha lite högre säkerhet genom att tvingas mata in det vid varje tillfälle som du använder Enterprise Manager. Vi rekommenderar det andra alternativet.

Klicka på Next-knappen. Sista frågan bestämmer var i ditt träd den nya servern placeras. Lämpligen placerar du den i den befintliga gruppen, men det är helt upp till dig.

Klicka på Next-knappen. Allt är nu inställt och du kan klicka på Finish-knappen i den sista dialogrutan. Om allt går bra bekräftas registreringen i ytterligare en dialogruta.

Nu skall servern "Bluerange" finnas med i ditt träd i Enterprise Manager och du kan koppla upp dig mot servern genom att klicka fram informationen i trädet. Om du valde att fråga efter användarnamn och lösenord i inställningarna ovan så kommer denna fråga fram och du skriver in det användarnamn och lösenord du fått av oss.
Under "Databases" skall din databas finnas med och där kan du komma åt dess objekt som "Tables", "Views" etc. Du kommer inte åt någon annan databas än din egen. Härifrån är det bara att följa övrig dokumentation för användande av Microsoft SQL Server 7 och Enterprise Manager.