SQL_SET_MAX_DATA_SIZE¶

Applies to: SQLFlex

This command sets the maximum amount of data that can be retrieved from a column via embedded sql using the SQL_GET_DATA_CHUNK_EX command. Note that this setting is defaulted to 16K to limit the amount of memory allocated for resultsets that include varchar(max)/varbinary(max) type columns. If a column retrieved in a resultset contains more data than the SQL_SET_MAX_DATA_SIZE is set to, the data is truncated. Note that this setting ONLY affects data accessed via embedded sql.

Syntax

SQL_SET_MAX_DATA_SIZE to {variable}

Parameter

Description

variable

Max amount of data allowed per column

Example

SQL_SET_MAX_DATA_SIZE to |CI$4000000 //(64MB)
move |CI$80000 to iChunkSize // 512KB
SQL_SET_CHUNK_SIZE to iChunkSize

SQL_SET_STMT to "SELECT * FROM CUSTOMER WHERE STATUS = 'Active' "
SQL_PREPARE_STMT
SQL_EXECUTE_STMT
SQL_FETCH_NEXT_ROW into sID sBio
If (Found) Begin
    SQL_GET_COLUMN_DATA_SIZE COLUMN 6 to iDataSize

    Repeat
        SQL_GET_DATA_CHUNK COLUMN 6 OFFSET iProgress to sChunk
        ADD iChunkSize to iProgress
        write sChunk
    until (iProgress >= iDataSize)

End