Solved

Oracle and CLOBs: string literal too long

Posted on 2001-08-09
5
937 Views
Last Modified: 2012-08-13
We're currently writing a VB app that uses Oracle in the backend.

And, in attempting to insert data into a table with a CLOB column, we're getting the following error:

ORA-01704     string literal too long


Now, I understand that there is a 2000 character limitation when using a straight INSERT pass-through statement. But, what are the other options?

Unfortunately, we cannot use stored procedures, and we cannot use OO4O (strictly ADO).

How does this affect me on UPDATES, also?


TIA,
-Jason
0
Comment
Question by:jlalexander
  • 3
5 Comments
 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 100 total points
ID: 6369902
Change your provider from the "Microsoft OLE DB Provider for Oracle" to the Oracle Provider for OLE DB.
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 6369930
By the way I may have spoken to soon.  I have been using an Insert statement with the Oracle native provider.  However I just noticed that the maximum length is 1982.

There does seem to be a workaround, take a look at the following article on MSDN:

PRB: Error "String Literal Too Long" using Update or Insert on Oracle Table Q233515
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 6369939
I meant to say that the longest field is currently 1982, so I have not bridged yet the 2000 barrier.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7199871
Hi jlalexander,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept acperkins@devx's comment(s) as an answer.

jlalexander, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.
==========
DanRollins -- EE database cleanup volunteer
0
 
LVL 5

Expert Comment

by:Netminder
ID: 7213350
Per recommendation, force-accepted.

Netminder
CS Moderator
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

758 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now