Link to home
Start Free TrialLog in
Avatar of martinbw
martinbw

asked on

ASP Question

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
Avatar of MasseyM
MasseyM

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

Avatar of martinbw

ASKER

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?

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?

do not post the whole 450-line page here yet, please. I don't think we'll need it.
do not post the whole 450-line page here yet, please. I don't think we'll need it.
You can email it to me at masseym@hotmail.com if you wish...


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

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


Can anyone help any further on this one?
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...

maybe, just drop and re-create the DSN ?

also, is .mdb file readable by everybody ?


Avatar of sybe
Close your database in Access, this error occurs when you have your database opened in design mode.
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
YOu will need to contact the customer support and let them know how you want to do the point thing.  
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?
ASKER CERTIFIED SOLUTION
Avatar of linda101698
linda101698

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial