SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Unspecified error using ado command to update a varchar max field


Unspecified error using ado command to update a varchar max field

Author
Message
markdh.climb
markdh.climb
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 80
Hello... I posted this a couple of days ago on the "anything that is not SQL" forum but had no luck so I thought I'd try here... Sorry but it's a bit more of a front-end question, I'm just hoping someone here has seen it before and knows where to look.

Original message is as follows:

This is a tricky one, and my first post to this forum so appollogies if I'm in the wrong place.

We have a SQL Server 2008 database for handling help desk calls. When necessary the users will paste the entire contents of an email into a text box on the main form. This can sometimes include graphics etc. which get stripped. The email client is Outlook 2007 and the frontend is built in MS Access and uses ADO (2.8) commands to handle updates. The backend parameter and field is varchar(max).

The problem is that, occasionally, when the user clicks save they get an unspeciifed error occurring on the command.execute line.

This problem can't be reproduced on the dev machines which run with Office 2003.

We managed to isolate a single character that produces the error every time in a 2007 environment. This character is ASCII 234, looks like a "|" or sometimes "ê" depending on font etc.

I have tried stripping all characters with an ASCII code greater than 128. This makes no difference. Also tried changing to nvarchar and this didn't help either.

Anyone seen this before or have any idea what might be causing it?

Thanks

Mark
Chris Wooding
Chris Wooding
Mr or Mrs. 500
Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)Mr or Mrs. 500 (574 reputation)

Group: General Forum Members
Points: 574 Visits: 997
If your update is not parameterised, the problem could be due to occasional single quote characters in the input, eg.

Update MyTable set Surname = 'O' Connor'

The update statement would terminate at the quote in the middle of the surname leaving the remainder of the line as an invalid SQL statement.
markdh.climb
markdh.climb
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 80
The update is of course parameterised. The issue only occurs on some machines (possibly all 2007, haven't proved it though).

Cheers
markdh.climb
markdh.climb
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 80
Looks like this is something to do with how wingding characters are handled when copied from an email into an Access text box. The main cause seems to be the symbols for a computer and a phone in email sigs. If you select one and paste it into the immediate window you get a space in Access 2007 and a bracket in 2003...

Loads of fun ;o)
markdh.climb
markdh.climb
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 80
For anyone who gets the same issue:

It appears that when you paste into an Access 2007 text box you retain some of the formatting tags that normally get stripped when pasting to a plain text field. Access 2007 now supports rich text in the standard text box so I guess, even when set to plain text, it is retaining some data that throws an error when passed into an ADO command.

To fix this issue I simply iterate the characters in the string, creating a new string based on the ASCII values. This drops whatever it is that causes the error.

Cheers
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search