|
Classic ASP Databases Discuss using ASP 3 to work with data in databases, including ASP Database Setup issues from the old P2P forum on this specific subtopic. See also the book forum Beginning ASP.NET Databases for questions specific to that book. NOT for ASP.NET 1.0, 1.1, or 2.0. |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the Classic ASP Databases section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|
November 14th, 2003, 06:24 AM
|
Friend of Wrox
|
|
Join Date: Jun 2003
Posts: 217
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Access behaving badly
Hi all.
I got this error message yesterday for no apparently reason:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
/fa-portal/scripts/administration/checklogin.asp, line 19
It happens when I use the Update method of the Recordset object in line 19.
Does anyone know what I should be looking for? I mean, it worked perfect for years???
The connection is a DSN. I'm using Access 2002 (XP) with SP2, on a windows XP Pro machine.
Regards - Jon
__________________
- mega
Aspiring JavaScript Ninja
|
November 14th, 2003, 02:50 PM
|
Friend of Wrox
|
|
Join Date: Jun 2003
Posts: 540
Thanks: 0
Thanked 4 Times in 4 Posts
|
|
Obviously the first question would be did you make sure that the database wasn't read-only(maybe it was copied from a backup on a cd)? However, assuming that you already checked that, you could also check the permissions on the folder containing the database and make sure that the IUSR_MachineName account has rights to it.
Also, this was pulled from the web and could possibly help:
Q: I am having a problem with some ASP code that is connecting to Access using ADO -- the code is returning an error 80004005.
A: The latest MDAC drivers (anything in the past six months), and especially the Access ODBC driver, have a "feature" that REQUIRES a SYSTEM temp variable be establised. This is done from right clicking My Computer, choosing Properties, Environment, and adding the system variables of TMP C:\TEMP and TEMP C:\TEMP.
Hope one of these helps.
J
|
November 14th, 2003, 03:24 PM
|
Friend of Wrox
|
|
Join Date: Oct 2003
Posts: 702
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Make sure that the database is not corrupted. Maybe it locked up on a user and is still locked. If that is the case, try compacting it. Just because it gives line 19 it does not mean that this is the culprit.
try this link
http://support.microsoft.com/default...n-us%3BQ306518
Sal
|
November 15th, 2003, 03:10 AM
|
Registered User
|
|
Join Date: Nov 2003
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
check the connection again..
May be the reocrdset your opening is readonly
Rahil
Looking Forward For Your Prompt Reply
|
November 16th, 2003, 11:39 AM
|
Friend of Wrox
|
|
Join Date: Jun 2003
Posts: 217
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Thanks. I've set the Users (IUSR_MachineName\Users) permissions to full control and now it works... It strange because I did not alter the folder, but I did install the latest MDAC.
I noticed compress really do compress (doh), but Access got a 1 gigabytes limit size, right? Then I probably have to compress it periodically. Is there some sort of rule when to compress?
Again thanks for the reply's...
Quote:
quote:Originally posted by katsarosj
Obviously the first question would be did you make sure that the database wasn't read-only(maybe it was copied from a backup on a cd)? However, assuming that you already checked that, you could also check the permissions on the folder containing the database and make sure that the IUSR_MachineName account has rights to it.
Also, this was pulled from the web and could possibly help:
Q: I am having a problem with some ASP code that is connecting to Access using ADO -- the code is returning an error 80004005.
A: The latest MDAC drivers (anything in the past six months), and especially the Access ODBC driver, have a "feature" that REQUIRES a SYSTEM temp variable be establised. This is done from right clicking My Computer, choosing Properties, Environment, and adding the system variables of TMP C:\TEMP and TEMP C:\TEMP.
Hope one of these helps.
J
|
Regards - Jon
|
November 17th, 2003, 03:47 AM
|
Friend of Wrox
|
|
Join Date: Nov 2003
Posts: 141
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Hi
I have experienced similar issues using DSN connection. I had the problem that it would work intermittendly. I started using a Jet driver instead of ODBC e.g ***Cm.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("DBName.mdb")***
I have also found that error 0x80004005 also appears when the ADMIN password is blank within the ODBC connection and should be included in the connection code.
As far as I know Access limit is 500 MB and 500 connections using a split database.
Hope this will help in any way...
Regards
M
Such is Life!
|
November 17th, 2003, 02:27 PM
|
Friend of Wrox
|
|
Join Date: Jun 2003
Posts: 217
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I used the same connection but this didn't work:
Code:
Dim objCmd
Set objCmd = Server.CreateObject("ADODB.Command")
objCmd.ActiveConnection = objConn
objCmd.CommandType = adCmdStoredProc
Dim objRSFax
objCmd.CommandText = "{CALL qryFirmByFax ('" & CInt(intFax) & "')}"
Set objRSFax = Server.CreateObject("ADODB.Recordset")
Set objRSFax = objCmd.Execute
But when I changed the connection to a DSN connection it worked just fine and I don't use any ADMIN password (the app is still on the developing server). Did not know that I could split Access, will look into it. :)
Quote:
quote:Originally posted by acdsky
Hi
I have experienced similar issues using DSN connection. I had the problem that it would work intermittendly. I started using a Jet driver instead of ODBC e.g ***Cm.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("DBName.mdb")***
I have also found that error 0x80004005 also appears when the ADMIN password is blank within the ODBC connection and should be included in the connection code.
As far as I know Access limit is 500 MB and 500 connections using a split database.
Hope this will help in any way...
Regards
M
Such is Life!
|
Regards - Jon
|
|
|