Locator buffer size to small

Locator buffer size to small

Post by Philippe Fornaciar » Sun, 31 Dec 1899 09:00:00

Hi All,
        I need some help about a problem I have on my system. I am using
Informix OnLine Workgroup Server 7.22.TC1 on a NT 4.0 server. I try to
unload a table using dbaccess from the command lines. The SQL unloads
some records but stop before the end of the table with the error Message
: -451 Locator buffer size to small.
Can you explain me how to fix this problem.

Thank You

Philippe Fornaciari


1. OpenResultset Error : Locator buffer size too small


I am using Visual Basic 5.0 SP3 and an Informix database OnLine Workgroup
Server, Informix-Cli Product including ODBC 2.5.

I have the following error when I try to execute a SQL statement to fill a
The table "bug"  contains 7 records, and 2 columns with type "Text".

Set en = rdoEngine.rdoEnvironments(0)
en.CursorDriver = rdUseClientBatch
Set cn = en.OpenConnection("Informix_Technical", rdDriverNoPrompt, False,
msSqlBug = "select * from bug order by mod_id,prg_id,fcm_id,bug_id"
Set mqryBug = cn.CreateQuery("mqryBug", "")
mqryBug.SQL = msSqlBug
Set mrsBug = mqryBug.OpenResultset(rdOpenKeyset, rdConcurValues)
While Not mrsBug.EOF And Not mrsBug.BOF
    ' Create new Record in the List View
    Set lviItem = lvwModule.ListItems.Add()

The VB Program stops on the line : Set mrsBug = mqry.OpenResul... with the
MessageBox :
 Run-time error '40002':
 S1000: [INTERSOLV][ODBC Informix driver][Informix] Locator buffer size too

If I look at the rdoErrors Collection, I have error :
 -451 S1000: [INTERSOLV][ODBC Informix driver][Informix] Locator buffer size
too small

The Informix Error -451 is :
Locator buffer size too small
The locator structure provided for a BYTE or TEXT value in this statement
specifies a memory buffer that is smaller than the value (in the loc_bufsize
field). The actual size is in loc_indicator. No data was transferred. Revise
the program to use a larger buffer, to locate the value in a file instead of
memory, or to pass the value in segments through a user-provided read
function. Alternatively, you can specify a substring of the value in the
SELECT statement. If this is a 4GL program, this error should not occur. If
the error recurs, please note all circumstances, and contact the Informix
Technical Support Department.

How can I fix this problem ?
Is it possible to increase buffer size ? How ?

I looked at the VB Doc. I found the GetChunk Method. In the example, they
are using this method to read column with binary datatype. They read also a
column with Text datatype (without Getchunk Method). I don't see how to use
this method in my case, because the problem occurs on the "Set Rs..."
statement, before I can use the getchunk method.

Thank you very much for your help.

Philippe Fornaciari
Summit Technologies International

2. percentage -calculated members or cells?

3. Error on OpenResultset Method - Locator buffer size too small

4. Rapid Application Development tools

5. Locator Buffer Size too Small

6. SET SQL Prompt automatically??

7. Error 451 Locator Buffer Size Too Small when using dbexport in Informix Online Workgroup Server 7.22

8. Locator buffer size to small

9. Error 451 Locator Buffer Size too small?????

10. Q: TDS Buffer Size too small

11. Fetch Buffer Size and Insert Batch Size, Performance

12. Backup image size changes with different buffer sizes