public inbox for [email protected]  
help / color / mirror / Atom feed
From: Juan Rodrigo Alejandro Burgos Mella <[email protected]>
To: Tzuriel Kahlon <[email protected]>
Cc: [email protected]
Subject: Re: Ecpg fetch issue
Date: Tue, 9 Dec 2025 15:49:43 -0500
Message-ID: <CAHbZ42zcyT2+8wzTdzncKmCkGj_ftrGXAnO3GiTrOZJa3DAmrg@mail.gmail.com> (raw)
In-Reply-To: <CANoyZGoygwQXO_6Mt0uLdK6X21OnOoLN-FCs78AfU9cQ+Y6yKQ@mail.gmail.com>
References: <CANoyZGr5nSNGmWHT1bWY+F_k20WnvOhnKcZk0uq55GEYBAeRgA@mail.gmail.com>
	<CAHbZ42zwfodkVVHRU_4C4xOVh_hr1Pw0w4FueXj=srEZXwn=ag@mail.gmail.com>
	<CANoyZGoygwQXO_6Mt0uLdK6X21OnOoLN-FCs78AfU9cQ+Y6yKQ@mail.gmail.com>

The issue is that there's no direct ECPG for COBOL; ECPG is a C
preprocessor and can only be used as an external function. Alternatively,
you can use libpq as a wrapper, but you'll still need to compile the C code.

Atte
JRBM

El mar, 9 dic 2025 a las 15:30, Tzuriel Kahlon (<[email protected]>)
escribió:

> Hey thank you for the answer , the solution you suggest is modified the
> code in the application side i want to open the ecpg like procob in oracle
> and set it there without any intervention. On the code itself .
>
>
>
>
> *בברכה *
> *צוריאל כחלון *
> 0523851143
>
> On Tue, Dec 9, 2025, 22:27 Juan Rodrigo Alejandro Burgos Mella <
> [email protected]> wrote:
>
>> Hi
>> When using ECPG, if you have a simple FETCH, it will do it row by row;
>> the way to download more than one row at a time is by using data arrays.
>> In my case, when I want to extract, for example, 100 records at once, I
>> use the following model:
>>
>> I define a data array:
>>
>> EXEC SQL BEGIN DECLARE SECTION;
>> struct _resultData {
>> int  int_data1;
>> char chr_data2[11];
>> } resultData[100];
>> EXEC SQL END DECLARE SECTION;
>>
>> and then in the fetch:
>>
>> EXEC SQL
>> FETCH FORWARD 100 cCursor
>> INTO :resultData;
>>
>> and the variable sqlca.sqlerrd[2] controls the number of records returned
>>
>> I hope it helps you
>>
>> Atte
>> JRBM
>>
>>
>> El mar, 9 dic 2025 a las 14:53, Tzuriel Kahlon (<[email protected]>)
>> escribió:
>>
>>> Hey all ,
>>> We are using IBM for cobol and connextint postgres db with ecpg the
>>> precompiler , problem is when we running cursor against db the prefetch are
>>> not set correctly and provide one row each time he approach to db and this
>>> decrease the performance significantly if twvle have 100000 rows it take it
>>> one by one each run .
>>> In procob which is the precompiler of Oracle there are option to set the
>>> prefetch to take in each time it approach the db x number of rows you want
>>> and this ease the db retrieved and enhance the performance .
>>> I know that there is a way to change the setting in the application
>>> code, but I want to eliminate touch any code and configure only the ecpg
>>> which is the middle between cobol and db.
>>> There is anyone from you which encountered same issue?
>>>
>>>
>>>
>>>
>>>
>>> *בברכה *
>>> *צוריאל כחלון *
>>> 0523851143
>>>
>>


view thread (2+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Ecpg fetch issue
  In-Reply-To: <CAHbZ42zcyT2+8wzTdzncKmCkGj_ftrGXAnO3GiTrOZJa3DAmrg@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox