Wrox Home  
Search P2P Archive for: Go

  Return to Index  

access_asp thread: Re: Cannot Query Access Database Across Network


Message #1 by "Ken Schaefer" <ken@a...> on Fri, 1 Feb 2002 11:47:13 +1100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From: "Patrick Chapman" <pchapman@d...>

Subject: [access_asp] Cannot Query Access Database Across Network





: I am having problems querying a access database that is on another pc

: that I have a mapped drive to.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



A drive letter is mapped for the logged on user *only*. On a WinNT/2k/XP

machine IIS (and hence ASP) does not run under the context of the logged on

user. Instead, file/DB access is done via the anonymous internet user

account (by default), which is IUSR_<machinename> or (IWAM_<machinenane> for

out-of-process websites).



Since the IUSR_<machinename> account is a local account (except on NT domain

controllers where there are no local accounts), you can't add it to the ACL

for a share on the remote machine. Instead, you have the following options:



a) Change the account that ASP is using to a domain account that has

permissions to the remote share. Be aware of the risks associated with

elevating the priveleges of the account used by your website for file access



b) Create an account on the remote machine with the same username/password

combination as the anonymous user account on your webserver. Give this

account permission to the share. In your ASP pages you will have to connect

via UNC names \\computer\share because mapped drives are only there for the

logged on user



c) Use a HTTP authentication system that forces the user to provide NT user

account credentials (Basic or NTCR). These account credentials should be

domain accounts that have permissions to the remote share



HTH



Cheers

Ken



Message #2 by Thomas Bellavia <TBellavia@V...> on Fri, 1 Feb 2002 10:48:24 -0500
Try using URL instead. Provider=Microsoft.Jet.OLEDB.4.0;URL="xxx"



-----Original Message-----

From: Patrick Chapman [mailto:pchapman@d...] 

Sent: Thursday, January 31, 2002 11:25 AM

To: Access ASP

Subject: [access_asp] Cannot Query Access Database Across Network



I am having problems querying a access database that is on another pc 

that I have a mapped drive to.  I have full access to that drive, the 

privileges on that share are for everyone with full control.  The folder 

and the file are the same way.  As soon as I put the mdb on my machine it 

works fine.  I have tried updating MDAC and turning off let IIS control 

passwords in the Directory Security option under properties in Management 

Console.  The error message is:



Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[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. 

/intranettest/pcdevelopment/requestforservices/customerrequests.asp, line 

22 

I have tried OLE DB connections, DSN-less connections and File DSN and 

pretty much all error messages say the same.  The database file can  be 

opened by anyone.

Help

Patrick






Message #3 by "Ken Schaefer" <ken@a...> on Mon, 4 Feb 2002 10:07:15 +1100
URL is not a valid parameter for a Jet OLEDB Connection string:



http://www.able-consulting.com/ado_conn.htm#OLEDBProviderForMicrosoftJet



Cheers

Ken



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From: "Thomas Bellavia" <TBellavia@V...>

Subject: [access_asp] RE: Cannot Query Access Database Across Network





: Try using URL instead. Provider=Microsoft.Jet.OLEDB.4.0;URL="xxx"

:

:

: -----Original Message-----

: From: Patrick Chapman [mailto:pchapman@d...]

: Sent: Thursday, January 31, 2002 11:25 AM

: To: Access ASP

: Subject: [access_asp] Cannot Query Access Database Across Network

:

: I am having problems querying a access database that is on another pc

: that I have a mapped drive to.  I have full access to that drive, the

: privileges on that share are for everyone with full control.  The folder

: and the file are the same way.  As soon as I put the mdb on my machine it

: works fine.  I have tried updating MDAC and turning off let IIS control

: passwords in the Directory Security option under properties in Management

: Console.  The error message is:

:

: Microsoft OLE DB Provider for ODBC Drivers error '80004005'

: [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.

: /intranettest/pcdevelopment/requestforservices/customerrequests.asp, line

: 22

: I have tried OLE DB connections, DSN-less connections and File DSN and

: pretty much all error messages say the same.  The database file can  be

: opened by anyone.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Message #4 by Thomas Bellavia <TBellavia@V...> on Mon, 4 Feb 2002 12:03:24 -0500
Yes, you're right. My mistake. 'URL=' replaces 'Provider=' and is

interpreted by ADO, not JET. I don't know if this is the solution however.



-----Original Message-----

From: Ken Schaefer [mailto:ken@a...] 

Sent: Sunday, February 03, 2002 6:07 PM

To: Access ASP

Subject: [access_asp] RE: Cannot Query Access Database Across Network



URL is not a valid parameter for a Jet OLEDB Connection string:



http://www.able-consulting.com/ado_conn.htm#OLEDBProviderForMicrosoftJet



Cheers

Ken



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From: "Thomas Bellavia" <TBellavia@V...>

Subject: [access_asp] RE: Cannot Query Access Database Across Network





: Try using URL instead. Provider=Microsoft.Jet.OLEDB.4.0;URL="xxx"

:

:

: -----Original Message-----

: From: Patrick Chapman [mailto:pchapman@d...]

: Sent: Thursday, January 31, 2002 11:25 AM

: To: Access ASP

: Subject: [access_asp] Cannot Query Access Database Across Network

:

: I am having problems querying a access database that is on another pc

: that I have a mapped drive to.  I have full access to that drive, the

: privileges on that share are for everyone with full control.  The folder

: and the file are the same way.  As soon as I put the mdb on my machine it

: works fine.  I have tried updating MDAC and turning off let IIS control

: passwords in the Directory Security option under properties in Management

: Console.  The error message is:

:

: Microsoft OLE DB Provider for ODBC Drivers error '80004005'

: [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.

: /intranettest/pcdevelopment/requestforservices/customerrequests.asp, line

: 22

: I have tried OLE DB connections, DSN-less connections and File DSN and

: pretty much all error messages say the same.  The database file can  be

: opened by anyone.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~








Message #5 by "Ken Schaefer" <ken@a...> on Tue, 5 Feb 2002 13:09:43 +1100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From: "Thomas Bellavia" <TBellavia@V...>

Subject: [access_asp] RE: Cannot Query Access Database Across Network





: Yes, you're right. My mistake. 'URL=' replaces 'Provider=' and is

: interpreted by ADO, not JET. I don't know if this is the

: solution however.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



I don't think it'll work.



The Jet database engine has no "listener" component that can accept

connections across a network (via TCP/IP or NetBIOS or whatever). This

reflects the single-user desktop type role that this databsae engine was

designed to service. This contrasts to most enterprise RDBMS like SQL Server

or Oracle that have components that can "listen" for requests addressed

across a network (that's not quite how it works, but you get the idea)



Cheers

Ken






  Return to Index