Avatar billede renekoemler Nybegynder
17. marts 2006 - 10:05 Der er 11 kommentarer og
1 løsning

Vise .asp mens Access db er åbnet

Hej Liste,

Jeg har lavet en db i access hvor i man indtaster forskellige oplysninger. Til denne db har jeg lavet et par .asp sider der skal vise data fra databasen. Jeg har problemer med at få vist .asp siderne (primært når jeg har Access databasen åbnet)

Er der således at man skal have lukket for access for at .asp kan hente fra den.


Tekniske oplysninger (for supportteknikere)

Fejltype:
Provider (0x80004005)
Uspecificeret fejl
/BiologiskSmittefare/vis_hold.asp, line 29


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 1.1.4322)

Side:
GET /BiologiskSmittefare/vis_hold.asp

Klokkeslæt:
17. marts 2006, 09:59:54


Yderligere oplysninger:
Microsoft Support


<%
  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath("opgaver1.mdb")
  Conn.Open DSN      // Dette er linie 29

  SQL = "Select * from tab_hold"
  Set rs3 = Conn.Execute(SQL)
 
  Do While Not rs3.EOF
 
    Response.Write "<tr>"
    Response.Write "<td>" & rs3("hold_nummer") & "</td>"
    Response.Write "<td>" & rs3("hold_bm") & "</td>"
    Response.Write "<td>" & rs3("hold_vpl1") & "</td>"
    Response.Write "<td>" & rs3("hold_vpl2") & "</td>"
    Response.Write "<td>" & rs3("hold_telefon1") & "</td>"
    Response.Write "<td>" & rs3("hold_telefon2") & "</td>"
    Response.Write "<td>" & rs3("hold_køretøj") & "</td>"
    Response.Write "</tr>"
           
  rs3.MoveNext

  Loop
 
  Conn.Close
  Set Conn = Nothing
%>
</table>
</body>

Bedste hilsner
René
Avatar billede fennec Nybegynder
17. marts 2006 - 10:13 #1
Access er "single user", hvilket betyder at kun en person kan have den åben af gangen. Du kan altså ikke have den åben samtidig med at IUSR_Maskinnavn (IIS'ens bruger), prøver at åbne den.

Så du er nød tli at lukke den...
Avatar billede ffsoft Praktikant
17. marts 2006 - 10:17 #2
Google er din ven, hvis du søger på Provider (0x80004005)
får du bl. a. dette link.

http://www.pagedowntech.com/faq/faq.asp?faqid=47

Jeg har oplevet det mange gange netop hvis jeg har haft databasen åben
samtidig med at jeg lavet udtræk til en ASP side.
Avatar billede fennec Nybegynder
17. marts 2006 - 10:17 #3
... Der er dog nogle versioner (sikkert de nye, men har ikke undersøgt det), hvor flere brugere godt have forbindelse til den, men de kan ikke åbne den samme tabel samtidig...
Avatar billede renekoemler Nybegynder
17. marts 2006 - 10:22 #4
OK - så jeg er altså nødt til at lave et .asp interface til indtastninger for at få det til at svinge???

Det må jeg jo så lige se på

TAK for svar
Avatar billede fennec Nybegynder
17. marts 2006 - 10:35 #5
Ikke nødvendigvis, men du skal lukke Access, når du skal bruge den gennem ASP, og det kan godt blive træls i længden, at man skal åbne/lukke den hele tiden...

Der er dog visse ting, som er rart at bruge Access til, så helt uden om den kommer du nok ikke :o)

Det er dog ikke nogen dårlig ide at have en side, hvor du kan sende sql-sætninger afsted og få vist resultatet. Evt med nogle fordefineret, så man hurtig kan få vist indholdet af en tabel, uden at skulle skrive sql'en. Der er sikkert nogen, der allerede har lavet det, så søg evt på Google...
Avatar billede medions Nybegynder
17. marts 2006 - 10:48 #6
Det er vidst noget med at på windows 2003 servere kan man godt.

//>Rune
Avatar billede eagleeye Praktikant
17. marts 2006 - 10:54 #7
Du kan prøve at sætte mode til readonly for connection'en så du har mulighed for at læse fra access. du har kun mulighed for at læse med den connection:

  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath("opgaver1.mdb")

  Conn.Mode = 1  'betyder read-only
  Conn.Open DSN      // Dette er linie 29


Hvis 1 giver samme fejl så prøv:

  Conn.Mode = 16  'betyder dModeShareDenyNone
  Conn.Open DSN      // Dette er linie 29


Sidst prøv at rette til denne driver:


  DSN = "Provider=Microsoft.Jet.OLEDB.4.0;"
  DSN = DSN & "Data Source=" & Server.MapPath("opgaver1.mdb")
Avatar billede renekoemler Nybegynder
20. marts 2006 - 15:23 #8
Hej alle,

eagleaye's Conn.Mode = 1 løste problemet - tak for hjælpen
Avatar billede fennec Nybegynder
20. marts 2006 - 15:34 #9
Så skal eagleeye vel også have nogle/alle af det point, der blev givet mig :o)

Er det hele løsningen (for du kan jo kun læse med den), for så skal han have dem alle. Problemet vil stadig opstår, når du skriver til DB'en, men det kan jo være du har en DB, som der kun skal læses fra...
Avatar billede renekoemler Nybegynder
21. marts 2006 - 08:22 #10
Vil gerne dele point ud - how to do it?

Der skal kun kunne læses fra denne - alt der hvor der skal skrives til db laves i nogle andre scripts - der kun lige holder på db mens der skrives..
Avatar billede fennec Nybegynder
21. marts 2006 - 08:40 #11
Har oprettet et ? med point til eageleye:
http://www.eksperten.dk/spm/696821
Avatar billede eagleeye Praktikant
21. marts 2006 - 09:32 #12
Det lyder godt det kom til at virke :-)
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