Artiklar » Databaser » Connection objektet

 
 

Connection objektet

Författare: fettecke
Datum: den 11 januari 2004
Antal lästa: 7249
Ej stjärnmärkt

Jag tänkte skriva en lite tunnare artikel om Connection objektet, det objekt som används för att skapa databas-kopplingar, hur viktigt det är att hantera detta på rätt sätt...

jag har märkt att flera gånger har denna fråga kommit upp i forumet.
Denna artikel är riktad mot nybörjare!

iaf, för att öppna en databas så krävs det att servern har installerat IIS, ADO (Microsoft ActiveX  Data Objects), samt en databas som har stöd för detta, vanligast är MS-Access, mySQL, MS-SQL server, Oracle osv... de flesta databaser kostar pengar utom mySQL.
ADO följer troligen med alla databaser som har stöd för det, men nyare versioner finns att hitta på MS-Update.

Först måste vi öppna ett objekt som tar hand om databasens information, och hjälper till att visa informationen för användaren, i korta drag alltså.
För att skapa ett objekt på servern används följande:
Set objConn = server.createObject("ADODB.Connection")

Översatt till svenska blir detta: Skapa ett objekt av typen ADODB.Connection som heter objConn.
När vi skapar ett objekt så placeras det i serverns minne, och ligger där tills det stängs eller timas ut automatiskt, här skapar vi ett "Connection-objekt" som heter objConn, jag döper det till objConn pga. att jag alltid använder prefix, och döper saker till självförklarande namn, objConn är förkortning på ObjectConnection.

Nu är ett objekt öppnat mot minnet och asp-filen, vi måste öppna databasen för att få tillgång till dess information, med hjälp utav objektet objConn, så skall vi öppna en databas med metoden .Open().
När du använder .open() så anger du värden som skall behandlas, och öppna en vald databas med viss information om hur osv...

Syntax för .open är i vårt fall: objConn.open(ConnectionString, UserID, Password)
I "Connectionstring" så anger du vilken drivrutin, sökväg till databasen som skall användas, alternativt är userID och password, har man satt ett lösenord på databasen måste man ange dessa för att få öppna och ha tillgång till databasen

Ett exempel på hur man öppnar en databas är:
Kod:

Set objConn = server.createObject("ADODB.Connection")
objConn.open("Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath ("databas.mdb") &";")


Vi öppnar nu en vanlig Access databas utan någon DNS-koppling och utan lösenord, vi anger vilken drivrutin som skall användas i Driver, i detta fall Access egna drivrutiner.
Vi anger även sökvägen till databasen i DBQ, men lämnar userID och password.
Databasen är nu öppen för användning, men för att plocka ut information måste man använda recordsets, det kommer jag inte gå in på nu, utan du får läsa vidare om detta i andra kurser

Det viktigaste inom databas-hantering är att stänga det man öppnat. allt som har en början, måste ha ett slut, på gott eller ont, samma sak är det inom databas-hantering... man kan välja att gå på grusväg, eller sidenmatta...

Sidenmattan i detta fall är att stänga databasen och frigöra det från minnet manuellt efter man är klar med alla operationer som databasens motor har utfört, och grusvägen är att låta databasen och servern automatiskt timas ut, och frigöra objektet och databasen själv efter en viss tidspertiod.

För att frigöra ett specielt objektet från minnet så används (notera objConn):
Kod:

Set objConn = Nothing
Och för att stänga databasen, så används en relativt lik händelse:
objConn.Close


Ett heltäckande exempel är detta:
Kod:

Set objConn = server.createObject("ADODB.Connection")
objConn.open("Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath ("databas.mdb") &";")

'diverse databas-operationer

objConn.close
Set objConn = Nothing


Vissa fel kan uppkomma vid databas-hantering som igentligen är väldigt simpla att åtgärda.

Databasen måste vara skrivbar för att du ska kunna behandla dess information, läs Guffas artikel om detta här i artikelarkivet.

Databasen får i vissa fall inte vara öppnad av användaren, då den försöker skriva till databasen medans du som användare redigerar den för hand utanför, blir det felmedelande.

Använd alltid nyaste drivrutinerna till databasen, helst MS-Jet 4 motorn.

Bättre drivrutiner till Access tillåter runt 50 användare samtidigt, om du inte stänger ner och frigör databasen från minnet efter varje gång du använt databasen, så kommer du lätt upp till 50 uppkopplingar, och databasen säger upp sig för ett tag.
Hoppas att du har blivit lite klokare och nu förstår en del av innebörden med att använda databaser till dina applikationer, för min del hoppas jag på mindre frågor i forumet angående detta ämne.

Om du anser att artikeln bör utökas, ge då förslag på vad som saknas

/ Anders Wickman
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,0469 sekunder att ladda sidan