Our webhost (www.usbusinessweb.net) had a W2K IIS5 server crash after a
scheduled hard-boot occurred during a ms-security patch install overnight.
They couldn't get the server working again so they transferred our site
www.orbisoft.com to a new W2003 IIS6 server they set up.
That was a week ago.
Since that transfer, all of our ASPX pages that use Access2000 databases
have stopped working.
Our main one is our "buy" page at
http://www.orbisoft.com/products/tas...t-version.aspx
which means potential customers can't purchase there.
I have shown the error below which essentially says "Cannot update. Database
or object is read-only."
After numerous assurances from our webhost that they have set anonymous user
write access for both the /fpdb folder and the individual databases we still
get the same error. They say it is our fault in that there is something in
our code that isn't right. They say the have another user where their aspx
pages with MSAccess are working. I said "but all aspx pages were working
fine on IIS5...."
"Line 211: rs.addnew" below is the where the error is highlighted.
The actual relevant code snip-it is as follows with the runtime error listed
below that. You also are welcome to test the page at
http://www.orbisoft.com/products/tas...t-version.aspx
with a junk order too - I won't hold you to it:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<%@Page aspcompat=true Language = VB Debug="true"%>
<%@Import Namespace="aspN etEmail"%>
<%@Import Namespace="Syst em.Data"%>
<%@Import Namespace="Syst em.Data.OleDb"% >
<%@Import Namespace="aspN etMX"%>
<%@Import Namespace="Syst em.Globalizatio n"%>
<script language="VB" runat="server">
Dim strFirstName as String
Dim strLastName as String
Dim strExisting as String
Dim strNumberUsers as String
Dim strCompany as String
Dim strTitle as String
Dim strEmailAddress as String
Dim strAddress as String
Dim strCity as String
Dim strState as String
Dim strZip as String
Dim strCountry as String
Dim strTelephone as String
Dim strIndustry as String
Dim strOtherIndustr y as String
Dim strWHSpecific as String
Dim strComment as String
Dim strPromoCode as String
Dim strProductName as String
Dim dblQuantity as Double
Dim dblProductPrice as Double
Dim dblExtension as Double
Dim dblPromotionalC odeSavings as Double
Dim dblTotalUSD as Double
Public Function strProper(strRa w as String) As String
Dim currentTextInfo
currentTextInfo = CultureInfo.Cur rentCulture.Tex tInfo
strProper = currentTextInfo .ToTitleCase(st rRaw)
End Function
Function bolStoreEntries ()
'Store entries temporarily for populating after validation fail
'************** *************** *************** *************** ***
strFirstName = Request("FirstN ame")
strLastName = Request("LastNa me")
strExisting = "No"
strNumberUsers = Request("Number Users")
strCompany = Request("Compan y")
strTitle = Request("Title" )
strEmailAddress = Request("EmailA ddress")
strAddress = Request("Addres s")
strCity = Request("City")
strState = Request("State" )
strZip = Request("Zip")
strCountry = Request("Countr y")
strTelephone = Request("Teleph one")
strIndustry = Request("Indust ry")
strOtherIndustr y = Request("OtherI ndustry")
strWHSpecific = Request("WhereH eard")
strComment = Request("Commen t")
End Function
</script>
<%
Dim bolErr as Boolean
bolStoreEntries
fCalculatePrice s
If Request("OrderN ow") <> "" Then
'Save to database
'************** **
Dim strHTML as String
Dim strlf as String
Dim strS1 as String
Dim strS2 as String
Dim strS3 as String
Dim strErr as String
Dim bSuccess as Boolean
Dim sPath as String
Dim conn
Dim rs
Dim lngInvoiceNumbe r as Long
Dim lngInvoiceRefer ence as Long
sPath = "D:\inetpub\www \orbisoft\fpdb\ dbOnlineOrders. mdb"
conn = Server.CreateOb ject("ADODB.Con nection")
conn.open ("Provider=Micr osoft.Jet.OLEDB .4.0;" & "Persist Security
Info=TRUE;" & "Data Source=" & sPath, "Admin", "")
rs = server.createob ject("adodb.rec ordset")
rs.open ("tblOrders" , conn, 2, 2)
rs.addnew
if Request("FirstN ame") <> "" then rs("FirstName") =
strProper(Reque st("FirstName") )
if Request("LastNa me") <> "" then rs("LastName") =
strProper(Reque st("LastName") )
etc...
And here's the error it now gives (falling over on the 211 rs.addnew line):
Server Error in '/' Application.
Cannot update. Database or object is read-only.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.Runtime. InteropServices .COMException: Cannot
update. Database or object is read-only.
Source Error:
Line 209: rs.open ("tblOrders" , conn, 2, 2)
Line 210:
Line 211: rs.addnew
Line 212:
Line 213: if Request("FirstN ame") <> "" then rs("FirstName") =
strProper(Reque st("FirstName") )
Source File:
D:\Inetpub\www\ orbisoft\produc ts\taskmanager\ 2005\purchase\o rder-details.asp
x Line: 211
Stack Trace:
[COMException (0x80040e09): Cannot update. Database or object is
read-only.]
Microsoft.Visua lBasic.Compiler Services.LateBi nding.InternalL ateCall(Object
o, Type objType, String name, Object[] args, String[] paramnames, Boolean[]
CopyBack, Boolean IgnoreReturn) +798
Microsoft.Visua lBasic.Compiler Services.LateBi nding.LateCall( Object o,
Type objType, String name, Object[] args, String[] paramnames, Boolean[]
CopyBack) +23
ASP.order_detai ls_aspx.__Rende r__control1(Htm lTextWriter __output,
Control parameterContai ner) in
D:\Inetpub\www\ orbisoft\produc ts\taskmanager\ 2005\purchase\o rder-details.asp
x:211
System.Web.UI.C ontrol.RenderCh ildren(HtmlText Writer writer) +27
System.Web.UI.C ontrol.Render(H tmlTextWriter writer) +7
System.Web.UI.C ontrol.RenderCo ntrol(HtmlTextW riter writer) +243
System.Web.UI.P age.ProcessRequ estMain() +1926
Version Information: Microsoft .NET Framework Version:1.1.432 2.2300; ASP.NET
Version:1.1.432 2.2300
Any ideas very much appreciated ....
Mark