Thread: Error : could not send data to server: Error 0
Hi,
I am getting following error while sending the 15000 records using PQputline() to postgreSQL DB.
could not send data to server: Error 0
Code snap:-
strBuf = "abc1798,2,26120,34760,653,869,60880,1522,05/24/2007,123456712";
strBuf += "\n";
printf("\n%s\n",strBuf.c_str());
strBuf += "\n";
printf("\n%s\n",strBuf.c_str());
for(i=0;i<15000;i++)
{
/* Send a single row */
copy_result = PQputline(conn, strBuf.c_str());
if(copy_result != 0)
{
printf("\n%s\n", PQerrorMessage(conn));
}
{
/* Send a single row */
copy_result = PQputline(conn, strBuf.c_str());
if(copy_result != 0)
{
printf("\n%s\n", PQerrorMessage(conn));
}
}
copy_result = PQendcopy(conn);
if(copy_result != 0)
{
printf("\n%s\n", PQerrorMessage(conn));
}
Platform - Solaris 10 (x86 based processor)
PostgreSQL version - 8.2.0
Interface - libpq
Application language - C/C++
Appreciate help!!!
Regards,
Pawan
Maybe it's not good advice, but maybe You should divide Your data into smaller parts ? Brgds Adam pawan shirbhate wrote: > Hi, > > I am getting following error while sending the 15000 records using > PQputline() to postgreSQL DB. > > *could not send data to server: Error 0* > > Code snap:- > > strBuf = > "abc1798,2,26120,34760,653,869,60880,1522,05/24/2007,123456712"; > strBuf += "\n"; > printf("\n%s\n",strBuf.c_str()); > > for(i=0;i<15000;i++) > { > /* Send a single row */ > copy_result = PQputline(conn, strBuf.c_str()); > if(copy_result != 0) > { > printf("\n%s\n", PQerrorMessage(conn)); > } > > } > > copy_result = PQendcopy(conn); > if(copy_result != 0) > { > printf("\n%s\n", PQerrorMessage(conn)); > } > > Platform - Solaris 10 (x86 based processor) > PostgreSQL version - 8.2.0 > Interface - libpq > Application language - C/C++ > > Appreciate help!!! > > Regards, > Pawan > >
Hi Adam,
Thanks for your suggestion.
I am not getting that error when I tried to send data in smaller part. But, the same program with 150000 records is running fine on Solaris 10 (Sparc processor).
"could not send data to server: Error 0" - This error is thrown by libpq.
Is there any platform specific flags required to build libpq on x86 based OS?
Regards,
Pawan
On 10/30/07, Adam Radlowski <adamr@informatyka.gdansk.pl> wrote:
Maybe it's not good advice, but maybe You should divide Your data into
smaller parts ?
Brgds
Adam
pawan shirbhate wrote:
> Hi,
>
> I am getting following error while sending the 15000 records using
> PQputline() to postgreSQL DB.
>
> *could not send data to server: Error 0*
>
> Code snap:-
>
> strBuf =
> "abc1798,2,26120,34760,653,869,60880,1522,05/24/2007,123456712";
> strBuf += "\n";
> printf("\n%s\n", strBuf.c_str());
>
> for(i=0;i<15000;i++)
> {
> /* Send a single row */
> copy_result = PQputline(conn, strBuf.c_str());
> if(copy_result != 0)
> {
> printf("\n%s\n", PQerrorMessage(conn));
> }
>
> }
>
> copy_result = PQendcopy(conn);
> if(copy_result != 0)
> {
> printf("\n%s\n", PQerrorMessage(conn));
> }
>
> Platform - Solaris 10 (x86 based processor)
> PostgreSQL version - 8.2.0
> Interface - libpq
> Application language - C/C++
>
> Appreciate help!!!
>
> Regards,
> Pawan
>
>
I'm not sure, but I think, that it can be problem of x86 architecture, not of libpq, becouse I have problems like this with data tables in memory, what are "static" in procedures (defined and used in procedures only). I'm programming in Pascal (I'm old school programmer knowing C/C++, but I have too much old good routines for Pascal). Free Pascal is fully compatible with C, so it brings this same problems with all things, as in C. When I get memory dynamically, I don't get problem like this, but You know - maybe I'm wrong... Brgds Adam pawan shirbhate pisze: > Hi Adam, > > Thanks for your suggestion. > > I am not getting that error when I tried to send data in smaller part. > But, the same program with 150000 records is running fine on Solaris 10 > (Sparc processor). > > "could not send data to server: Error 0" - This error is thrown by libpq. > > Is there any platform specific flags required to build libpq on x86 > based OS? > > Regards, > Pawan > > On 10/30/07, *Adam Radlowski* <adamr@informatyka.gdansk.pl > <mailto:adamr@informatyka.gdansk.pl>> wrote: > > Maybe it's not good advice, but maybe You should divide Your data into > smaller parts ? > Brgds > Adam > > pawan shirbhate wrote: > > Hi, > > > > I am getting following error while sending the 15000 records using > > PQputline() to postgreSQL DB. > > > > *could not send data to server: Error 0* > > > > Code snap:- > > > > strBuf = > > "abc1798,2,26120,34760,653,869,60880,1522,05/24/2007,123456712"; > > strBuf += "\n"; > > printf("\n%s\n", strBuf.c_str()); > > > > for(i=0;i<15000;i++) > > { > > /* Send a single row */ > > copy_result = PQputline(conn, strBuf.c_str()); > > if(copy_result != 0) > > { > > printf("\n%s\n", PQerrorMessage(conn)); > > } > > > > } > > > > copy_result = PQendcopy(conn); > > if(copy_result != 0) > > { > > printf("\n%s\n", PQerrorMessage(conn)); > > } > > > > Platform - Solaris 10 (x86 based processor) > > PostgreSQL version - 8.2.0 > > Interface - libpq > > Application language - C/C++ > > > > Appreciate help!!! > > > > Regards, > > Pawan > > > > > >
...and I'm compiling libpq without any special flags, becouse my programs are installed on not only by me installed clients and servers, on shipped with Linux distributions of PostgreSQL, so I have to "keep standards". Regards Adam pawan shirbhate pisze: > Hi Adam, > > Thanks for your suggestion. > > I am not getting that error when I tried to send data in smaller part. > But, the same program with 150000 records is running fine on Solaris 10 > (Sparc processor). > > "could not send data to server: Error 0" - This error is thrown by libpq. > > Is there any platform specific flags required to build libpq on x86 > based OS? > > Regards, > Pawan > > On 10/30/07, *Adam Radlowski* <adamr@informatyka.gdansk.pl > <mailto:adamr@informatyka.gdansk.pl>> wrote: > > Maybe it's not good advice, but maybe You should divide Your data into > smaller parts ? > Brgds > Adam > > pawan shirbhate wrote: > > Hi, > > > > I am getting following error while sending the 15000 records using > > PQputline() to postgreSQL DB. > > > > *could not send data to server: Error 0* > > > > Code snap:- > > > > strBuf = > > "abc1798,2,26120,34760,653,869,60880,1522,05/24/2007,123456712"; > > strBuf += "\n"; > > printf("\n%s\n", strBuf.c_str()); > > > > for(i=0;i<15000;i++) > > { > > /* Send a single row */ > > copy_result = PQputline(conn, strBuf.c_str()); > > if(copy_result != 0) > > { > > printf("\n%s\n", PQerrorMessage(conn)); > > } > > > > } > > > > copy_result = PQendcopy(conn); > > if(copy_result != 0) > > { > > printf("\n%s\n", PQerrorMessage(conn)); > > } > > > > Platform - Solaris 10 (x86 based processor) > > PostgreSQL version - 8.2.0 > > Interface - libpq > > Application language - C/C++ > > > > Appreciate help!!! > > > > Regards, > > Pawan > > > > > >