optimal accesskoppling

ASP

5 svar · 410 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Trådstart#1

Jag läste en tråd här för ett tag sen att det tydligen skulle öka prestanda om man använde Jet-motorn istället för den andra Accessmotorn.

Nu min fråga, jag har läst på ett annat ställe att adovbs.inc slukar resurser eftersom den inkluderar ett par hundra rader, parsar det och bara använder ett par av dem.. stämmer det och hur ser isåfall den "bästa" och snabbaste koden ut för en ODBC mot Access?

Min kod nedan visar hur jag använder access idag.

<!-- #include file="inc/adovbs.inc" --> 
<%
dataPath = Server.MapPath("data\data.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data\data.mdb"))

Set Record = Server.CreateObject("ADODB.Recordset")
OpenData = "SELECT * FROM nyheter"

Record.Open OpenData, Conn, adOpenStatic, adLockOptimistic
%>
Medlem sedan dec. 2000557 inlägg
#2

Tror detta diskuterats fler gånger här i forumet, testa att söka på det.

Personligen använder jag följande sätt och tycker det är enklast och snabbast:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb"))
Set RecSet = Connect.Execute("SELECT * FROM tabell")

Response.Write "En tabell... "& RecSet("tabell")

RecSet.Close
Set RecSet = Nothing

Connect.Close
Set Connect = Nothing
%>
Medlem sedan juni 2000126 inlägg
#3

Och sen kan man ju snabba upp sidan med att plocka ut all info från recordset:et mha getrows ...
Som diskuterats många gånger här på forumet.

/Jonas

Medlem sedan juni 2000690 inlägg
#4

Jag brukar alltid lägga all konfiguration som är gemensamt i en inkludefil, tex de adovbs konstanter man använder (alltså bara de få man verkligen använder), connection-strängar, vissa funktioner, osv.

Finns ingen anledning att inkludera hela adovbs filen på varje sida.

Angående prestandan så tjänar du mycket på att öppna recordsetet rätt.
adOpenStatic, adLockOptimistic är tex onödigt om du bara skall loopa ut datan. Öppna istället med adOpenForwardOnly, adLockReadOnly eller kör direkt med Set RecSet = Connect.Execute(SQL) som Palleman ovan.

Medlem sedan feb. 200112 078 inlägg
#5

Tackar för tipsen. :)

Medlem sedan feb. 20012 412 inlägg
#6

hej!

Kolla tråden och vides inlägg
http://cgi.webforum.nu/wf/Forum11/HTML/004779.html

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)