We help IT Professionals succeed at work.

ASP Question

martinbw
martinbw asked
on
Medium Priority
225 Views
Last Modified: 2013-12-25
I'm just begining to have a look at ASP, but don't seem to be able to get very far.  I'm using Visual InterDev.  I've set up an access database on a web server and an appropriate DSN.  I've used the wizard to create list and form ASP pages.  But when I preview these in a browser I get:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access 97 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.

/mbw9/testList.asp, line 282

Any idea.  I'll only award the full points (and there are a lot of them) to an answer that clearly helps me to resolve the problem.

Many thanks

Martin
Comment
Watch Question

Commented:
Could you please post you code so I can take a look at it?

In the mean time, make sure your database does not have password protection on it...

Author

Commented:
I didn't create the code - the wizard did.  I'm happy to post one of the pages (it's around 450 lines).  Do I just add it as a comment or can I "attach" it in some way?

Commented:

did you set up the source as System DSN or User DSN ?

also, what's the name of the .mdb file that is supposed to be bound to DSN ?

after you created DSN, did you press Test button to make sure it works?

Commented:
do not post the whole 450-line page here yet, please. I don't think we'll need it.

Commented:
do not post the whole 450-line page here yet, please. I don't think we'll need it.

Commented:
You can email it to me at masseym@hotmail.com if you wish...


Author

Commented:
I used a system DSN (on both my work station and the server where the app will be running).

The MDB is holidays2.mdb.

I don't see a "Test" option in the ODBC setup...

The DB doesn't have any Access security on it and I've just made it fully available to everyone via NT security.

Author

Commented:
It's 6pm here in the UK and I'm going out tonight.  So have to leave.  Really appreciate your help guys.  Catch up with you and your suggestions tomorrow.  Thanks again.

MasseyM, have emailed you some of the code.

Cheers

Martin

Commented:
Still -- looks like it's a DSN problem.

go to Control Panel ==> ODBC ==> System DSN ==> YourDSN_Name

and see if

a) it points to holidays2.mdb (Database: C:\db\holidays2.mdb)
b) ==> Options ==> Exclusive is not checked
c) ==> Options ==> Read Only is not checked
d) ==> Advanced ==> Read Only value is 0

Author

Commented:
Ok done this:

a) it points to holidays2.mdb = YES
b) ==> Options ==> Exclusive is not checked = YES
c) ==> Options ==> Read Only is not checked = YES
d) ==> Advanced ==> Read Only value is 0 = YES


Author

Commented:
Can anyone help any further on this one?

Commented:
Martin,

Your code looked clean... (Except the wizard puts in a lot of garbage that isn't really necessary...)  Have you tried recreating the database?  Also, is this site online yet?  If so, post the URL and we will surf over to it and see if we get the same problem...

Commented:
maybe, just drop and re-create the DSN ?

also, is .mdb file readable by everybody ?


Commented:
Close your database in Access, this error occurs when you have your database opened in design mode.

Author

Commented:
Thanks, but closing the access database was one of the first things I tried.  

I've solved the problem myself now.  It wasn't an ODBC DSN problem.  It was a problem with the code Visual InterDevs wizard was producing.  In the Global.asa file it created a string variable used throughout the web app in other asp files:

Session("DataConn_ConnectionString") = "DSN=absence; DBQ=\\testres\databases\absdata.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5;"

DataConn_ConnectionString is used in other asp files to open the data connection.  You'll notice that after the actual DSN name there's a whole bunch of info that is actually held in the DSN anyway.  I removed this leaving:

Session("DataConn_ConnectionString") = "DSN=absence;"

And this worked.  It seems that the "DBQ=\\testres\databases\absdata.mdb" part was causing the problem.

Anyway thanks for everyones comments.  I'd like to award points as follows and will if you tell me how to do it:

MasseyM - 50 for looking at asp code
MiteK - 35 for providing sensible DSN comments
Sybe - 15 for having a go

Thanks again

Commented:
YOu will need to contact the customer support and let them know how you want to do the point thing.  

Commented:
I knew there was something other than the DNS... The ASP code looked fine.  I should have known it was the global.asa... AARRGGHH :)  Don't you just hate that?
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.