Avatar billede soerens Nybegynder
22. september 2004 - 17:01 Der er 8 kommentarer og
1 løsning

DB connection virker i Classic ASP, men ikke i ASP.NET

Jeg har et lille mystisk problem, som jeg ikke rigtigt ved hvordan jeg skal tage hul på.

Efter jeg har uploadet et website fra min udviklingsserver til mit webhotel, kan jeg pludseligt ikke længere få adgang til databasen (en Access database) via ASP.NET, men jeg kan sagtens via Classic ASP (har oprettet to testsider i begge sprog der laver en simpel forespørgsel).

Fejlmeddelelsen lyder:
The Microsoft Jet database engine cannot open the file 'd:\webs\xxx\db\xxx.mdb'.  It is already opened exclusively by another user, or you need permission to view its data.

Umiddelbart ville jeg gætte på at hosting firmaet har glemt at sætte de rigtige rettigheder op til DB kataloget, men når det nu virker fint i Classic ASP?
Avatar billede arne_v Ekspert
22. september 2004 - 17:05 #1
Det er ikke ASP classic som låsere filen for ASP.NET ?
Avatar billede arne_v Ekspert
22. september 2004 - 17:09 #2
Prøv eventuelt at tilføje en Exclusive=0 i connection string.
Avatar billede soerens Nybegynder
22. september 2004 - 17:20 #3
1)
Nej, det skulle det ikke være. Der var intet der fungerede allerede før jeg kom i tanke om at teste med en Classic ASP side, og desuden skulle jeg pænt sørge for at lukke alle connections. Der ligger heller ingen .LDB i database kataloget, som plejer at være et godt tegn på at "noget" låser databasen.

2)
Nope, virkede ikke.

Kører Classic ASP og ASP.NET egentligt overhovedet på samme user account?
Det kunne jo godt være at mit hosting firma fint har åbnet for IUSR_xxx, men glemt at åbne for .NET?
Avatar billede arne_v Ekspert
22. september 2004 - 17:28 #4
Jeg mener bestemt ikke at de kører på samme acoount.

Jeg har set mange maskine rhvor ASP.NET kører på account ASPNET, men jeg er ikke sikker på,
at det altid er tilfældet.
Avatar billede arne_v Ekspert
22. september 2004 - 17:29 #5
Så det kunne sagtens være forklaringen.
Avatar billede soerens Nybegynder
22. september 2004 - 17:32 #6
Hvis du evt. kan grave lidt info frem om emnet og poster et svar med det, så ka' det være der er point. Kunne være rart lige at vide lidt konkret om det inden jeg bonker hosting firmaet.

Jeg ved godt jeg sagtens selv kunne Google efter det, men jeg er lidt doven her til aften ;-)
Avatar billede thrytter Nybegynder
22. september 2004 - 18:20 #7
Prøv at tilføje <identity impersonate="true" /> under <system.web> i web.config filen.

Skulle "tvinge" .NET til at køre under/som IUSR_MACHINENAME, mod vistnok ASPNET som standard jfr.

"ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user."

som jeg fik ved test af http://www.eksperten.dk/spm/542240
Avatar billede soerens Nybegynder
22. september 2004 - 19:14 #8
Perfekt, det virker faktisk!

Jeg fandt lidt mere info om det på MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetAP05.asp

Post et svar thrytter, og der er point!
Avatar billede thrytter Nybegynder
22. september 2004 - 19:19 #9
værsgo
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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