Avatar billede the-gnu.dk Nybegynder
26. januar 2002 - 12:38 Der er 8 kommentarer og
1 løsning

ASP Problem m. database.

Jeg sidder og er ved at sætte en side op. Jeg bruger noget færdigt ASP kode, da jeg ikke har et klap forstand på ASP.

Scriptet kommunikerer via. noget ODBC til en Access database.

Når jeg kører scriptet kommer først en "HTTP 500 - Internal server error"-fejl. Hvis jeg så fjerner alt ASP koden og derefter opdaterer, kommer denne fejl

"[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data."

Forbindelsen til databasen oprettes med:
  Set oConnection = Server.CreateObject("ADODB.Connection")
  oConnection.Open "dsn=Mail"

Men hvad er det lige der er i vejen, og hvad kan jeg gøre for at få det til at køre?

Opsætningen i IIS skulle være i orden.
Avatar billede netsrac Praktikant
26. januar 2002 - 12:42 #1
Har du databasen åben i Access, så luk den.
Avatar billede coltau Juniormester
26. januar 2002 - 12:44 #2
Jeg kan forestille mig at du mangler brugernavn/password.

oConnection.Open "dsn=Mail", "brugernavn", "PassWord"
Avatar billede rou Nybegynder
26. januar 2002 - 12:46 #3
Det problem opstår typisk fordi at du skal have de korrekte rettigheder til Access databasen.

Da Access databaser er filer, skal du sikre dig at den bruger som webserveren arbejder i kontekst af, har skrive rettigheder til filen.
Den bruger hedder typisk IUSER_<maskinnavn>, hvis du bruger Internet Information Server, eller Personal Web Server, begge fra Microsoft.

Samtidigt skal du passe på med at åbne databasen i Access, samtidigt med at du tilgår den fra dine ASP sider.
Access ynder at låse databasen når den er åben, hvilket også skaber den slags problemer.

- Rou
Avatar billede kedde65 Praktikant
26. januar 2002 - 12:52 #4
Det er højest sansynligt dit brugernavn og password. Du kan prøve at bruge flg.

oConnection.Open "dsn=Mail", "sa", "" 

hvis ikke der er pillet i databasen så virker dette brugernavn og password. Så skal du jo selvfølgelig også huske at have lavet din ODBC forbindelse. Og når du bruger ODBC så må du under ingen omstændighederhave den åben samtidig med.

Kedde
Avatar billede the-gnu.dk Nybegynder
26. januar 2002 - 14:07 #5
Det ser ikke ud til at virke.

Jo - hmm... Det virker en lille smule. Det er en Access fil der bliver brugt af et andet program, men når jeg åbner programmet ser det ud til at det andet ikke virker.

Kan det ikke lade sig gøre på en eller anden måde at gøre så begge ting virker på samme tid?
Avatar billede kedde65 Praktikant
26. januar 2002 - 14:19 #6
Jo det kan det hvis du holder dig væk fra ODBC og bruger ren ADO istedet. Dette gør at forbindelsen er fuldstændigt ligeglad med om databasen er åben eller ej.

Kedde
Avatar billede the-gnu.dk Nybegynder
26. januar 2002 - 14:23 #7
Hvordan gør jeg det?

Hvordan skal mit ODBC-Link-Ting se ud?

Hvordan skal min connection se ud?
Avatar billede kedde65 Praktikant
26. januar 2002 - 14:33 #8
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("Database.mdb")

Dette kan du bruge til det, der er mange andre måder at gøre det på. Hvad angår ODBC link ting, så er det netop den del du skal glemme.

Kedde
Avatar billede the-gnu.dk Nybegynder
28. januar 2002 - 19:21 #9
Kedde65 > Nej, det vil den altså heller ikke! :o(
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