Solved

ODBC Drivers error '80040e57' on SQL Insert

Posted on 2006-11-02
6
304 Views
Last Modified: 2012-06-27
I've seen this posted and answered, but it doesn't fix my issue.

Here is my code:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%
Dim cnnC3DB
Set cnnC3DB = Server.CreateObject("ADODB.Connection")
cnnC3DB.Open "Driver={SQL Server};" & _
           "Server=xxxxxxx;" & _
           "Database=xxxxxxx;" & _
           "Uid=xxxxxx;" & _
           "Pwd=xxxxxxx"

dim disk_number, classification, title, location, release_date, language, color_code, format
disk_number=request.form("disk_number")
classification=request.form("classification")
title=request.form("title")
location=request.form("location")
release_date=request.form("release_date")
language=request.form("language")
color_code=request.form("color_code")
format=request.form("format")

dim SQL
SQL = "INSERT INTO software (disk_num, classification, title, location, rel_date, lang, color_code, format) VALUES ('"&disk_number&"','"&classification&"','"&title&"','"&location&"','"&release_date&"','"&language&"','"&color_code&"','"&format&"')"

cnnC3DB.Execute(SQL)

cnnC3DB.Close
Set cnnC3DB = Nothing
Set disk_number = Nothing
%>

all datatypes are char, with plenty of space.  I have read that the cause is too many characters into too small of a field.  All fields except from primary key have nulls allowed.  I will get this error even if I submit without any data.  I have also tried with one character in each field.


any ideas?
0
Comment
Question by:darrennelson
  • 4
  • 2
6 Comments
 

Author Comment

by:darrennelson
ID: 17862419
more info:

the full error is:

Microsoft OLE DB Provider for ODBC Drivers error '80040e57'

[Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be truncated.

/msdn2/input.asp, line 25

line 25:
cnnC3DB.Execute(SQL)
0
 
LVL 12

Expert Comment

by:Preece
ID: 17862440
Do this and look for a missing or extra quote:

response.write SQL

Preece
0
 
LVL 12

Expert Comment

by:Preece
ID: 17862456
Or, you may find that one of your fields is filled with a lot of spaces...

Preece
0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 
LVL 12

Expert Comment

by:Preece
ID: 17862470
If you have unneeded spaces in front or behind, you can trim each field:

disk_number=trim(request.form("disk_number"))
classification=trim(request.form("classification"))
title=trim(request.form("title"))
location=trim(request.form("location"))
release_date=trim(request.form("release_date"))
language=trim(request.form("language"))
color_code=trim(request.form("color_code"))
format=trim(request.form("format"))

Hope that helps,
Preece
0
 
LVL 12

Accepted Solution

by:
Preece earned 125 total points
ID: 17862505
You said that your datatypes are char.  I would go with varchars, as it saves space in your db.  Also, I think that if you retrieve the string "test" from a char(10), for example, you'll get "test      ".  So you may be populating your fields with extra spaces without realizing it...

Also, you may want to limit the textbox sizes to match the defined field sizes in your db:

<input type=text maxlength=5>

Preece
0
 

Author Comment

by:darrennelson
ID: 17868426
thanks Preece, all is working.  I actually implemented all suggestions at the same time, so I'm not sure which fixed it.  I am going to undo all changes, then redo one at a time for personal reference.

Thanks again
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question