80004005 . . . .is not a valid path

R

Rodger

Hi all,

I am getting the following error.

*****************************
Microsoft JET Database Engine error '80004005'

'O:\DATA\DSR\DSR_DATA.MDB' is not a valid path. Make sure that the
path name is spelled correctly and that you are connected to the
server on which the file resides.

/dsr.asp, line 18
*****************************

Here is what I have:

Webserver: Windows 2000 Server SP4, IIS 5.0, Novell Client 32, and
Gateway Services.

I can get to the O drive with explorer, Access is not installed on the
Webserver.

I have checked the rights on the Novell Server and the Webserver has
full rights except supervisor. I have also checked the rights on the
TEMP directory, everyone has rights to this folder, I even added more
users just to try, still no luck.

I think that is about it.

Thank you in advance for your help,

Rodger
 
B

Bob Barrows [MVP]

Rodger said:
Hi all,

I am getting the following error.

*****************************
Microsoft JET Database Engine error '80004005'

'O:\DATA\DSR\DSR_DATA.MDB' is not a valid path. Make sure that the
path name is spelled correctly and that you are connected to the
server on which the file resides.

/dsr.asp, line 18
*****************************

Have you checked this faq article?
http://www.aspfaq.com/show.asp?id=2009

This is definitely a permissions issue. Remember, the asp application is
running under the local IUSR account. See the faq for more details.

Bob Barrows
 
B

Bob Barrows [MVP]

Yes. A link to 2168 exists in 2009, but it is certainly more helpful to
reference the "real" article. I was being lazy.

Bob
 
A

Aaron Bertrand - MVP

Yes. A link to 2168 exists in 2009, but it is certainly more helpful to
reference the "real" article. I was being lazy.

That's okay, lazy! ;-)
 
R

Rodger

Bob,

Yes I have checked and the user signed on is WEBSRV3 and ISUR_WEBSRV3
has access to my mapped drive of O:\DATA\DSR\DSR_DATA.MDB. The System
DSN I have setup is pointing to this file. I have also tried a
DSN-less connection and get the same error. I have gon though the
FAQs and I have already tried each of them.

Any other ideas?

Thank you,

Rodger
 
A

Aaron Bertrand - MVP

Can you log in directly to the web server as IUSR_WEBSRV3 and see O:\ ?

(Hint: if you can't logon to the web server because you don't know the IUSR_
password, then you can't possibly have added an identical local user to the
machine where O:\ lives, which means IUSR doesn't have read/write
permissions to the remote share, which means you can't interact with the
database.)

--
Aaron Bertrand
SQL Server MVP
http://www.aspfaq.com/
 
B

bob the yob

Dont databases on iis have to have the vitual directory location?
eh I dont know if you figure it out let us know.
 
R

Rodger

Aaron,

I am logged on as WEBSRV3 and yes I can see the O drive. I have
client32 installed for Novell. I thought that would help, but no
luck. I can browse to the database on the O drive. I have even tried
to reference the database in the ASP code with UNC with no luck. I
have this working on my other Webserver, but it is NT 4.0 with IIS
4.0.

Here is my code: (Note some lines are remed ' out . . . .)

<%@ Language=VBScript %>


<% Response.Buffer = true %>
<%
Dim conn, rs, rs2, mySQL, dbPath

dbPath = "O:\DATA\DAR\dsr data.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=O\DATA\DSR\DSR DATA.mdb" ';User Id=admin;Password="

'Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath '&
";User Id=admin;"'& ";Persist Security Info=False"

'set conn = server.CreateObject("ADODB.Connection")
'conn.ConnectionString = "DSN=DSR"
'conn.Open

mySQL = "SELECT * FROM [COST CENTERS] ORDER BY CST_COST_CENTER"
set rs = conn.Execute(mySQL)

mySQL = "SELECT * FROM [COST CENTERS] ORDER BY CST_DEPARTMENT"
set rs2 = conn.Execute(mySQL)


%>


Thanks,

Rodger
 
B

Bob Barrows [MVP]

Rodger said:
Aaron,

I am logged on as WEBSRV3 and yes I can see the O drive.

YOU are logged in as WEBSRV3. ASP is not. Unless you have configured your
website to impersonate WEBSRV3, ASP is logged in as IUSR_WEBSRV3, which is a
local account on WEBSRV3. IUSR_WEBSRV3 will not have authority to look at
the O drive unless it is a domain-level account.

Bob Barrows
 
R

Rodger

I am not sure if I know what you mean?

bob the yob said:
Dont databases on iis have to have the vitual directory location?
eh I dont know if you figure it out let us know.
 
R

Rodger

Bob,

I ran FileMon http://www.sysinternals.com/ (free software that shows the
status of all files accessed by the machine it is running on) on both my
webserver and my workstation. And did not have any failures. Then I
decided to try opening the ASP page in question on the webserver, and it
opened just fine. Does this help any? I did talk to my network guy and he
told me about what you said, and that it is set right. Plus WEBSRV2 is
setup the exact same way.

Thanks again for you help,

Rodger
 
A

Aaron Bertrand - MVP

I ran FileMon http://www.sysinternals.com/ (free software that shows the
status of all files accessed by the machine it is running on) on both my
webserver and my workstation. And did not have any failures. Then I
decided to try opening the ASP page in question on the webserver, and it
opened just fine. Does this help any?
No.

I did talk to my network guy and he
told me about what you said, and that it is set right.

If it was "set right" you wouldn't be having errors, no?
 
A

Aaron Bertrand - MVP

The article you're quoting has a user that can't connect to a DBF file via a
DSN on the local machine.

The original poster is using Access from a second machine and doesn't
require a DSN.

And no, "databases on iis DO NOT have to have the vitual directory
location"...
 
R

Rodger

Yes you are right I would not. Be we cannot find the one that is wrong.
If WEBSRV3 can run it locally then when I run it from a workstation hitting
WEBSRV3 I get the error, so then it is an issue with the Anonymous Access
even though the Anonymous User is WEBSRV3.
 
R

Rodger

I have already check the setting for the temp directories and that was not
the issue, but thatnks . . . .
 
B

Bob Barrows [MVP]

Rodger said:
Bob,

I ran FileMon http://www.sysinternals.com/ (free software that shows
the status of all files accessed by the machine it is running on) on
both my webserver and my workstation. And did not have any failures.
Then I decided to try opening the ASP page in question on the
webserver, and it opened just fine. Does this help any?

Sorry, no.
I did talk
to my network guy and he told me about what you said, and that it is
set right.

What is "set right"?
Plus WEBSRV2 is setup the exact same way.

Unless your website is set up to impersonate WEBSRV2, the settings for
WEBSRV2 are irrelevant. IIS runs as IUSR_WEBSRV2 (ir WEBSRV2 is the name of
the computer, that is), unless impersonation is specified in the IIS Manager
settings for the website.

You mentioned Novell in your previous message. Did you read this article?
http://support.microsoft.com/?kbid=178045

Bob Barrows
 
R

Rodger

Set Right meaning we did a compare of WEBSRV2 (which works) and WEBSRV3 both
the same and in the same groups. I did read the TID from Novell and we have
this set as they suggested.

Again I thank both you and Aaron for helping me sooooo much!!

I am going to mention your statment about impersonate again and see what
they tell me . . . .

Rodger
 
A

Aaron Bertrand - MVP

ASP runs as an anonymous user. Do you understand the difference we are
trying to illustrate here?

You have a database on server A. A web server on server A. And a web
server on server B.

You are looking at server A, and saying "this server can connect to the
database file on server A. Therefore its settings must be correct."

Then you are looking at server B, and saying "this server has the same
settings as server A. Therefore it should be able to connect to the
database."

What you seem to be missing here is that ASP doesn't run as the same user
you are logging in as (what happens when a user requests a page after you
log out?). It runs as an anonymous user that is local to the machine
running the web server. In most cases, this is auser called
IUSR_servername. IUSR_servername on server A (let's call him IUSR_ServerA)
*only* has access to the web folders in the web site on server A. The
anonymous user running under the web service on server B (let's call him
IUSR_ServerB) *only* has access to the web folders in the web site on server
B. It can not just go out and read

The domain has no knowledge of IUSR_ServerA or IUSR_ServerB. Server A has
no knowledge of IUSR_ServerB. Server B has no knowledge of IUSR_ServerA.
Whether you have a user named WEBSRV2 or not is irrelevant... that's not who
ASP is executing as!

So, you have to synchronize these accounts in order for one local anonymous
account to be able to read/write to a folder on a different machine. Did
you look at http://www.aspfaq.com/2168 at all? Are you getting it yet? I'm
not sure how much more verbose I can get about this. The concept here has
been explained several times to various levels of detail but something is
getting lost on translation, between you and us, or between you and whoever
you're relaying this information to.

Or maybe you should make your life a little simpler and consider keeping the
database and the web application on the same machine. Or use a database
platform that is not so ridiculously tied to the file system...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top