VP-ASP :: Shopping Cart Software

Shopping Cart Software Solutions for anywhere in the World

US/Canada(Toll Free): +1 888 587 2278
Europe/UK: +44 (020) 7193 9408
Australia/New Zealand: +61 3 9016 4497
Live Chat

Common ASP errors

    

Out Of Stack Space error in 6.09

If you receive the following error, or something similar, after applying the VP-ASP 6.09 patch, please make the following changes.

1. Shopsess.asp
Locate the following line in Sub RestoreCustomerDetailsFrom Cookie -

    ShopOpenDatabase discdbc


Change to -

    DiagnosticOpen discdbc, xdatabase, xdatabasetype


2. shop$db.asp
Locate the following lines in Sub DiagnosticOpen -

    if databasetype="MYSQL" then
       ProcessMYSQLServer connection
       exit sub
    end if

Add these lines below -

    if databasetype="MYSQL351" then
       ProcessMYSQLServer connection
       exit sub
    end if
    

Adding Product Features

PROBLEM:
When you try to add a product feature, you get the following SQL error

Provider error '80040e1b'
Identity cannot be determined for newly inserted rows.
/shopping/shopa_editprodfeatures.asp, line 220


A row gets added with the id, featurenum=0, and featureprice=0.


SOLUTION:
First, try changing the following line in shop$db.asp:

const xsqloledb="No"

To:

const xsqloledb="Yes"

 

If that does not solve your problem, in shopa_editprodfeatures.asp find the following section of code (about line 198) -

Sub GenerateUpdateSQL()
Dim howmanyfields
dim fieldname, fieldvalue, fieldtype
dim i
howmanyfields=rstemp.fields.count -1
rstemp.update
for i=1 to howmanyfields


Change it to -
Sub GenerateUpdateSQL()
Dim howmanyfields
dim fieldname, fieldvalue, fieldtype
dim i
howmanyfields=rstemp.fields.count -1
'rstemp.update
for i=1 to howmanyfields


Then find the following section of code (about line 174) -

If updateaction<>"" then
  sqltemp="select * from " & dbtable
  sqltemp= sqltemp & " where " & idfield & "=" & which
  Set rstemp = Server.CreateObject("ADODB.Recordset")
  rstemp.open sqltemp, conn, 1, 3
  rstemp.Update
else
  Set rstemp = Server.CreateObject("ADODB.Recordset")
  rstemp.open dbtable, conn, adOpenKeyset, adLockOptimistic
  rstemp.AddNew
end if


Change to -

If updateaction<>"" then
  sqltemp="select * from " & dbtable
  sqltemp= sqltemp & " where " & idfield & "=" & which
  Set rstemp = Server.CreateObject("ADODB.Recordset")
  rstemp.CursorLocation=adUseClient
  rstemp.open sqltemp, conn, 1, 3
  rstemp.Update
else
  Set rstemp = Server.CreateObject("ADODB.Recordset")
  rstemp.CursorLocation=adUseClient
  rstemp.open dbtable, conn, adOpenKeyset, adLockOptimistic
  rstemp.AddNew
end if

    

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

If you receive the following error, or something similar, you need to change the xsortproducts configuration option.

Microsoft JET Database Engineerror '80040e14'

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

/shop$db.asp, line 533

1.Enter online Set-Up and insert in search box:

xsortproducts

2.Removecatalogidfrom the list of options.

3.Click continue at the bottom of the page.

4.In your browser type in the following at the end of your url:

shopend.asp?end=1

The link will look something like this only the domain will be the domain of your site:

http://www.yourdomain.com/shopend.asp?end=1

5.In your admin go back to the onlie Set-Up and reload the configuration by clicking the "Reload Shop Configuration" link. .

    

Hosting in a different country to where you are located causing dates to display incorrectly.

There is a known issue with hosting your site in a country that has a default date format different to your own.

For example many of our UK customers host their sites in the US.

UK sites display dates with the day first then the month.

US sites display with the month first and then the day.

This can be fixed to a point by setting the XLCID to the UK LCID of 2057 and the date format xdateformat in the Setup to how you want to see dates displayed in the front end.

For example dd mm yyyy

This will ensure your customers see the correct date format on the front of the site.

When you edit dates however in the back end you do need to ensure you format as US dates as that is how they are entered into the database.

Your customers will view the correct date, the admin user will see a US date format.

So you would enter as a date mm/dd/yyyy instead of dd/mm/yyyy.

    

Type mismatch when editing features

When editing features, you may get

Type mismatch: 'fieldvalue'
shopproductsubs.asp, line 413 "

The solution is to edit shopproductsubs.asp and change this line at about line 410

If isnull(fieldvalue) then
becomes

If isnull(fieldvalue) or fieldvalue="" then

    

Templates

PROBLEM:
When using templates to display products you get an error similar to the following:

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'Handle_Product'

/vpasp/shopfileio.asp, line 435

SOLUTION:
When you are making a template for displaying extended product descriptions you cannot use any functions that contain 'sub'. 
For example:  [formatbutton sub]

To stop this error from occuring please remove any references to these in your template file.

    

Error when logging into 6.00 Admin

PROBLEM: When logging into the VP-ASP 6.00 Admin, the following erorr occurs:

Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Right'

/vpaspshop/shopheaders.asp, line 470

This is caused by not converting your admin user to VP-ASP 6.00, by running convert600admin.asp in your browser after running convert600.asp.    

Item not found in collection

VP-ASP is extremely flexible. It allows you to add your own fields to most tables and they will automatically be picked up. For example you can add:
- Extra fields to the customers table
- Extra fields to the orders table
- Extra fields to the products table


If you are getting the following message

ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested
name or ordinal.

It means that you have told VP-ASP to use a new field name, but the actual field is not in the database.

VP-ASP does not automatically ADD extra fields to your database. That is your responsibility. VP-ASP software can use those fields and update them but it will NOT physically alter your database structure.

Example of the problem
Say you want to extra fields in the customer checkout form. Account Number and Branch. You would tell VP-ASP with two configuration options

xcustomerothercaptions=Account #,Branch Number
xcustomerotherfields=Account,Branch
xcustomerotherfieldsinorder=Yes

VP-ASP will now display two extra fields on the customer form and store them in the customers record and the orders record. If you now get the message

ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested
name or ordinal.

It means that you have not physically added these fields to the customers table and orders table. VP-ASP simply updates and displays these fields. It does not actually add the field names to the database. That is your responsibility using Microsoft Access, SQL Server or MYSQL tools.

    

Affiliate Registration

PROBLEM:
When trying to view shopaffregister.asp you get an error that is similar to the following:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '='.
/shopaffio.asp, line 126

SOLUTION:
This error sometimes occurs when converting your Access database to SQLServer.

To fix this problem run the following script using convertsql.asp

use shopping550
;
create table [dbo].[affiliates] (
 [affid] [int] identity (1, 1) not null ,
 [firstname] [varchar] (50) null ,
 [lastname] [varchar] (50) null ,
 [address] [varchar] (255) null ,
 [city] [varchar] (100) null ,
 [state] [varchar] (100) null ,
 [postcode] [varchar] (20) null ,
 [country] [varchar] (100) null ,
 [company] [varchar] (255) null ,
 [phone] [varchar] (50) null ,
 [website] [varchar] (50) null ,
 [workphone] [varchar] (30) null ,
 [mobilephone] [varchar] (30) null ,
 [fax] [varchar] (30) null ,
 [email] [varchar] (50) null ,
 [comment] [varchar] (255) null ,
 [logincount] [int] null ,
 [logindate] [datetime] null ,
 [logintime] [datetime] null ,
 [affother1] [varchar] (100) null ,
 [affother2] [varchar] (255) null ,
 [affother3] [varchar] (100) null ,
 [commissionrate] [real] null ,
 [orders] [int] null ,
 [totalcommission] [money] null ,
 [typeofpayment] [varchar] (50) null ,
 [bank] [varchar] (100) null ,
 [bankaccount] [varchar] (50) null ,
 [bankbranch] [varchar] (100) null ,
 [bankaddress] [varchar] (255) null ,
 [bankother] [varchar] (255) null ,
 [password] [varchar] (50) null ,
 [directurl] [varchar] (255) null,
 [referralid] [int] null,
 [mastercommissionrate] [real],
 [template] [varchar] (200) null
 
)

alter table [dbo].[affiliates] with nocheck add
 constraint [df_affiliates_logincount] default (0) for [logincount],
 constraint [df_affiliates_commissionrate] default (0) for [commissionrate],
 constraint [df_affiliates_orders] default (0) for [orders],
 constraint [df_affiliates_totalcommission] default (0) for [totalcommission],
 constraint [pk_affiliates] primary key  nonclustered
 (
  [affid]
 )  on [primary]
;

    

Japanese Language and Templates

Using Japanese and other double character languages, you may receive message using templates

Missing ] on field starting at 4

This occurs because VP-ASP is searching for a bracket ] and may not find it in a double character hex value. To fix this, disable the error message.

Edit Shopfileio.asp
locate this line
WriteError "Missing ] on field starting at " & Pos
change to
' WriteError "Missing ] on field starting at " & Pos

A quote (') makes it a comment
    

Subscript out of range

VP-ASP has limits built in for performance reasons, when these limits are reached you might get a

Subscript out of range

error message, especially when trying to display products or categories.

You can change these limits in the shop configuration with

xmaxfeaturecaptions
xmaxcategories
xmaxfeatures

Make sure these numbers are higher than the amount of features or categories you have in your shop.

    

Error in Advanced Edit

Problem: When editing a product, the Advanced Edit page returns a "page cannot be displayed" error or the following error message:

Microsoft VBScript compilation error '800a0400'

Expected statement

/equilibrium2/shoph_editrecord.asp, line 43

<P><strong>taxexempt: </strong>If this customer is not to be charged tax, enter Yes or True into this field.</P><%

Solution: Please contact us for an updated copy of shoph_editrecord.asp.

    

Troubleshooting on GoDaddy

The Economy Plan with GoDaddy is not sufficient to run VP-ASP. You will need the Deluxe Plan at a minimum. We unfortunately cannot provide support for customers on the Economy Plan due to restrictions imposed by GoDaddy for users at this level. Also note that GoDaddy will not allow installation of additional COM objects that are required by some payment gateways.


Depending on the server GoDaddy has you placed on, troubleshooting errors can be difficult.

GoDaddy by default do not display the actual coding error message. They will normally advise you create a web.config file to allow the display of the actual error messages.

Since VPASP uses ASP Classic, the web.config file method will often not work sufficiently. After setting up the web.config file, instead of receiving a 500 error, you will likely see a message such as:

An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find out more about this error.

According to the following helpnote from Microsoft, you need to change settings on the server to allow the display of Classic ASP errors:

http://learn.iis.net/page.aspx/564/classic-asp-script-error-messages-are-no-longer-shown-in-a-web-browser-by-default/

This is something that GoDaddy will need to assist with.

    

VP-ASP and 64-bit operating systems.

Certain features of VP-ASP are currently not compatible with 64-bit operating systems such as Windows Server 2008 64-bit.

This is due to some of the generic Microsoft components such as Access Jet Driver and CDOSYS mailing component not having a 64-bit compatible version available. Microsoft has not released a 64-bit version of these components so far.

For payment gateways that require a third party component or SDK to be installed, they will not work as well unless the gateway providers have created a 64-bit compatible component.

If you have upgraded your server to run Windows Server 2008 64-bit and need to run VP-ASP, the current workaround is to set the application pool on IIS to run in 32-bit mode.

The following website has provided a very helpful step by step guide on how to set the application pool to run in 32-bit mode in on Windows Server 2008 64-bit.

Until we can find a more permanent solution to this, we recommend that you do not move your VP-ASP sites to a 64-bit server. Running VP-ASP on a 64-bit server will not provide you with any performance boost as the software is simply not designed to run on a 64-bit environment.

We are currently working to find a more permanent solution for this issue and can hopefully get VP-ASP to be compatible with 64-bit system out of the box. When a solution is ready, we will post this on our web site.

If you have any further questions regarding VP-ASP and 64-bit compatibility, please submit a ticket to our helpdesk and our support member will assist you.

    

Cart is empty after being transferred from HTTP to HTTPS part of the shopping cart

If you notice the following issues on your shopping cart:

  • Cart is empty after being transferred from HTTP to HTTPS part of the site.
  • Item added while on HTTP part of the site will not appear on the HTTPS page and vice-versa.
  • For example : Item XYZ added while on http://www.myshoppingcart.com will not appear on https://www.myshoppingcart but will continue to appear on the http part of the page.

There are 2 possibilities that may cause these issues. Below are the explanation and also the workaround.

1) Shared SSL

The easy way to see if you are running shared SSL is to check the domain name of the HTTPS page. If the full domain name is different from your shopping cart domain, your are almost certainly running on Shared SSL certificate.

For example : :

http://www.myshoppingcart.com -> https://secure.mywebhost.com/myaccount (This is SHARED SSL)

http://www.myshoppingcart.com -> https://www.myshoppingcart.com (This is DEDICATED SSL)

VP-ASP does not support shared SSL and will not work properly with it. When the customer is being transferred to the secure area, the web browser will use a new session ID due to the different domain name and thus the references to the previous session will be lost.

If you do require an SSL certificate, we highly recommend you to use a dedicated SSL certificate. You may need to check with your hosting to provider to ensure they allow dedicated SSL on your account.

2) IIS setting "New ID on Secure Connection (keepSessionIdSecure)" is enabled.

If you have a dedicated SSL installed but still having the same issue, your sever may have the IIS option "New ID on Secure Connection (keepSessionIdSecure)" enabled.

If this is the case, a separate session ID will be used for the HTTPS page and the cart will not be able to access the old session that hold the content and the cart and thus you will experience "Cart is empty" issue.

To resolve this, you will need to disable the option "New ID on Secure Connection (keepSessionIdSecure)" which can be found on IIS -> ASP -> Session State configuration folder.

 

 
Back Printable Version Search other topics Submit a Ticket