Avatar billede casperlundhansen Nybegynder
09. februar 2004 - 22:41 Der er 15 kommentarer

Problemer med ASP & Access

Hejsa, jeg får periodisk denne fejl, når der er en 2-3 bruger på systemet, hvad kan det skyldes? og hvad kan der gøres ved det?

·Fejltype:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access-driver] Der kan ikke opdateres, fordi den er låst af brugeren "admin" på maskinen
Avatar billede eagleeye Praktikant
09. februar 2004 - 22:55 #1
Du skal huske at lukke for Recordset og Connections til databasen når du har brugt dem, evt. lig noget koden i buden af den filer du åber recordset og connections som lukker dem igen:

rs.Close
Set rs = nothing

Conn.Close
Set Conn = Nothing
Avatar billede casperlundhansen Nybegynder
09. februar 2004 - 23:15 #2
Det gør jeg også på samtlige sider

    rs.Close
    Conn.Close
    Set Conn = Nothing
    Set rs = Nothing

Hvad pokker kan det så skyldes?
Avatar billede casperlundhansen Nybegynder
09. februar 2004 - 23:29 #3
Kan man indsætte en linee, som tjekker for fejlen, eller måskeet eller andet med "on error then"
Avatar billede eagleeye Praktikant
09. februar 2004 - 23:39 #4
Man kan indsætte
On Error Resume Next

Så vises fejlen ikke, men det løser ikke problemet, for det vil se ud som om det går godt selvom der var en fejl.
man kan så lave et tjek som dette

if err.number <> 0 then
  response.Write "Der opstod en fejl"
end if
Avatar billede casperlundhansen Nybegynder
09. februar 2004 - 23:57 #5
ja, okay, men som du selv siger, det løser ikke problemet :-(
Er det simpelthen Access der er så ustabil/dårlig at den ikke kan håndtere flere opdateringer samtidig?
Den bryder ned må få minuters mellemrum :-(
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 00:08 #6
Jeg bruger den her driver:

AccessDataBase = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db/system.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open AccessDataBase
Avatar billede eagleeye Praktikant
10. februar 2004 - 00:16 #7
Ok, så kunne du måske prøve med denne connection den skulle være mere stabil end Access Driveren:

AccessDataBase = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db/system.mdb")
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 00:36 #8
:-( desværre bryder stadig ned efter 2 - 3 minutter
Avatar billede eagleeye Praktikant
10. februar 2004 - 08:52 #9
Det ved jeg ikke så, problemet er access er en single user database, og er der en som er ved at rette i databasen kan andre ikke gøre det samme. Har du evt. nogler sider som tager lang tid at udføre og dermed står databasen åbne i længere tid??
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 12:00 #10
Både og, jeg bruger Access i et system som læser og skriver/opdatere 25 poster i minuttet på hver bruger.
Jeg valgte Access fordi jeg kendte databasen fra tidligere og fik at vide den godt kunne håndtere 40 samtidige brugere, det er så ikke tilfældet?

Så tror jeg at jeg kender dit svar! Brug MySQL
Vil den så kunne klare det?
Avatar billede arno Nybegynder
10. februar 2004 - 14:03 #11
Jeg bruger access til et lille sms system jeg har lavet.... 10 - 15 bruger af gangen.. Jeg havde samme problem når flere logger sig på samtidigt...
Mit problem var de rettigheder der var sat på mappem med databasen i, der lå en begrænsing... hvor mine problemer blev løst efter jeg satte rettighederne til at alle
kunne læse / skrive til mappen... Jeg ved ikke om det hjlæper dig med måske ??
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 14:28 #12
Jeg har sat fuld kontrol til alle, både i mappen og selve databasen, der kan også godt være mange bruger på, men der kan ikke opdateres i databasen med mere end 1 bruger ad gangen, så bryder systemet ned.

Jeg har efterfølgende fået at vide at Access er en single user database og at der kun kan foretages en opdatering ad gangen?
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 14:54 #13
Eller er det måske muligt at lave et lille trick?
Et script som gør at update komandoen "venter" til forbindelsen er fri
Avatar billede casperlundhansen Nybegynder
10. februar 2004 - 15:20 #14
Min update-string ser således ud, burde også være ok ikk?

Conn.execute "UPDATE members SET betalt = 0 WHERE email = '"&replace(session("email"), "'", "''")&"'"
Avatar billede casperlundhansen Nybegynder
12. februar 2004 - 17:16 #15
Har fået MySQL igang og det virker, så lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester