ADODB.Connection naar access

Status
Niet open voor verdere reacties.

train5

Gebruiker
Lid geworden
27 aug 2004
Berichten
55
Bij de connectie naar een access-database vanuit asp met volgende connectie:

accessdb= "\\server.localdomain\db\" & Merk & ".accdb"
strconn = "Provider=Microsoft.ACE.OLEDB.12.0;DATA SOURCE="
strconn = strconn & accessdb & ";"
Set DBConn = Server.CreateObject("ADODB.connection")
DBConn.Open strconn

krijg ik de volgende foutmelding

Microsoft Access Database Engine error '80004005'

The Microsoft Access database engine cannot open or write to the file '\\server.localdomain\db\hp.mdb'. It is already opened exclusively by another user, or you need permission to view and write its data.

/Test/Test.asp, line 56



--> line 56 = DBConn.Open strconn

Even ter verduidelijking:
de server waarop de website draait is Microsoft Windows 2008 R2
Vanop de server wordt de pagina goed weergegeven, vanop andere clients of servers niet.
Geef ik in de connectiestring een database mee lokaal op de c:\....\...\, dan werkt ook.

\\server.localdomain\db is een share. Op shareniveau heeft "eryone" alle rechten. Ook op de directoryniveau en onderliggende database heb ik alle domeinusers Volledig beheer gegeven.

Kan iemand me hierbij verder helpen?
 
Even in het midden latend of het verstandig om een share zo open te zetten op het netwerk: IIS zal verbinden met een gebruiker uit de IIS_USRS groep (of zoiets) en dan waarschijnlijk gebruiker NT Authority\IUSR. Deze gebruiker is geen lid van de domeingebruikers (local account) en volgens mij ook niet van de groep everyone, en zal dus geen toegang hebben.
Je zult dus óf de website onder een andere account moeten draaien, of de database 'lokaal' op de server zetten (zal ook betere performance opleveren).
 
Misschien staat hier een oplossing?

NB: Je schrijf: Ik heb "iedereen" schrijfrechten etc. gegeven, maar hoe definieer je "iedereen"?
Als je de gebruikersgroep "Iedereen" (of "Everyone" indien engelse versie van Windows) die rechten hebt gegeven, dan geldt bovenstaand verhaal natuurlijk niet, alhoewel je kunt kijken of het expliciet toevoegen van rechten voor de domeingebruiker Netwerkservice (hoe die in het Engels heet weet ik niet) helpt.

Tijs.
 
Ik werkte inderdaad met gebruiker everyone, toch denk ik niet dat de netwerk service de oorzaak is.

Het is opgelost door toch de databases op de webserver te plaatsen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan