For at kunne få adgang til en database fra et ASP script, må man have en databaseforbindelse.
I denne lektion kigger vi på hvordan du kan lave en databaseforbindelse. Der findes en del muligheder, men den nemmeste er en såkaldt DSN-less forbindelse - det vil sige en forbindelse hvor man ikke behøver at sætte Data Source Name (DSN) op på serveren, men istedet direkte i koden laver en genvej til databasen.
Hvis dine ASP sider ligger på et webhotel, er det væsentligt, at du først undersøger din udbyders supportsider. Udbydere kan have specielle regler for hvordan du skal lave dine database forbindelser.
Databasen kan ligge i en hvilken som helst folder. Men hvis du vil tilføje data til databasen, er det vigtigt at der er skriverettigheder.
Her er det igen væsentligt at du kigger på din udbyders supportsider. Der er som regel én folder med skriverettigheder på et webhotel - ofte kaldet "cgi-bin", "log", "databaser" eller lignende. Forholdene varierer fra udbyder til udbyder - derfor er det ikke muligt at give et mere præcist svar.
For at lave en DSN-less forbindelse må du angive den fysiske placering af databasen på serveren. Hvis du har din egen server, kan du finde placeringen på sædvanligvis med Windows Stifinder - men hvis dine ASP filer ligger på et webhotel, kan du bruge metoden
Server.MapPath til at finde placeringen. Det vil sige at hvis databasen ligger i folderen cgi-bin på dit webhotel, finder du den fysiske placering sådan her:
Server.MapPath ("/cgi-bin/database.mdb")
Dermed er vi klar til at oprette selve forbindelsen - det gøres på følgende måde:
<% ' ADODB connection objektet Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/cgi-bin/database.mdb") ' Åben databaseforbindelsen Conn.Open DSN %>
Hermed har vi lavet en database forbindelse, og kan nu begynde at hente og opdatere data fra databasen. Det er netop hvad vi vil kigge på i de næste lektioner.
Husk iøvrigt, at det er god skik at lukke databaseforbindelsen igen, når man er færdig med at hente eller indsætte data. Dette gøres med følgende kode:
<% ' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
I de næste lektioner vil vi som sagt kigge på hvordan du henter og opdaterer data fra databasen.