Re: [INTERFACES] PostODBC 6.40.0007 to PostgreSQL 6.5.2 NEED HELP : Delphi-ODBC / Pygresql-Python

From: Compte utilisateur Sultan-advl <webmaster(at)advl(dot)org>
To: "Sergio A(dot) Kessler" <ser(at)perio(dot)unlp(dot)edu(dot)ar>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: [INTERFACES] PostODBC 6.40.0007 to PostgreSQL 6.5.2 NEED HELP : Delphi-ODBC / Pygresql-Python
Date: 2000-01-14 00:16:59
Message-ID: 00011401413000.03959@sultan
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hi,
Thanks to Sergio for help about ODBC tuning & is good links to free source
code for Delphi ;-)

Maybe an interface problem with Delphi - ODBC - Postgresql, hope to not disturb
this
list.

Using this design database since Postgresql 6.3 with Pygresql & Python cgi
without any problem.
Today records of this database still working with Python
& Pygresql.

===
DESCRIPTION :
Postgresql 6.5.2 & PostODBC 6.40.0007
Using postgresql table whith many text fields & big text in this fields < 8K
for a record Borland crash (IDAPI32.dll & KERNEL.dll error) when using the
DBNavigator with nbRefresh, nbLast, nbFirst Buttons.
NO odbc error in log.
===
A) TABLE PROPERTIES with text data type (works find with Pygresql & cgi Python
apli) :
Table = localisation
+----------------------------------+---------------------------------
| Field | Type | Length|
+----------------------------------+---------------------------------
| id_loc | int4 not null| 4 |
| voie_loc | text |
| codebat_loc | text |
| idplan_loc | int4 | 4 |
| xplan_loc | text |
| yplan_loc | text |
| acces_loc | text |
| accesen_loc | text |
| id_ville_loc | int4 | 4 |
+----------------------------------+---------------------------------
Indices: localisation_pkey
localisationi1
localisationi2
localisationi3
===
B) TABLE PROPERTIES with char (2048) data type : SAME PROBLEM IN DELPHI - DON'T WORK WITH PYTHON OR PSQL
==========
( Pygresql can't insert data)==> 8K LIMIT ?
==========
Traceback (innermost last):
File "./GOSultan.py", line 131, in ?
FctSCAN (file)
File "./GOSultan.py", line 103, in FctSCAN
INSERTDATA(pgcnx, f)
File "./GOSultan.py", line 94, in INSERTDATA
q = pgcnx.query(thequery)
pg.error: ERROR: Tuple is too big: size 12356
===========
( Psql can't insert data) ==> 8K LIMIT ?
===========
INSERT INTO localisation (id_loc,voie_loc,codebat_loc,idplan_loc,xplan_loc,yplan_loc,acces_loc,accesen_loc,id_ville_loc) VALUES ('59','18, rue de Cheverny','','6','','','','','7');
ERROR: Tuple is too big: size 12356

===

BACKEND MESSAGE WHEN DELPHI CRASH :

/usr/lib/pgsql/bin/postmaster: ServerLoop: handling reading 5
/usr/lib/pgsql/bin/postmaster: ServerLoop: handling reading 5
/usr/lib/pgsql/bin/postmaster: ServerLoop: handling writing 5
/usr/lib/pgsql/bin/postmaster child[2660]: starting with (/usr/lib/pgsql/bin/postgres -d2 -v131072 -p newkiwi )
/usr/lib/pgsql/bin/postmaster: BackendStartup: pid 2660 user postgres db newkiwi socket 5
FindExec: found "/usr/lib/pgsql/bin/postgres" using argv[0]
debug info:
User = postgres
RemoteHost = 192.168.0.26
RemotePort = 1065
DatabaseName = newkiwi
Verbose = 2
Noversion = f
timings = f
dates = Normal
bufsize = 64
sortmem = 512
query echo = f
InitPostgres
StartTransactionCommand
query: set DateStyle to 'ISO'
ProcessUtility: set DateStyle to 'ISO'
CommitTransactionCommand
StartTransactionCommand
query: set geqo to 'OFF'
ProcessUtility: set geqo to 'OFF'
CommitTransactionCommand
StartTransactionCommand
query: set ksqo to 'ON'
ProcessUtility: set ksqo to 'ON'
CommitTransactionCommand
StartTransactionCommand
query: select oid from pg_type where typname='lo'
ProcessQuery
CommitTransactionCommand
StartTransactionCommand
query: SELECT "id_loc" ,"voie_loc" ,"codebat_loc" ,"idplan_loc" ,"xplan_loc" ,"yplan_loc" ,"acces_loc" ,"accesen_loc" ,"id_ville_loc" FROM "localisation" ORDER BY "id_loc" DESC
ProcessQuery
CommitTransactionCommand
StartTransactionCommand
query: SELECT "id_loc" ,"voie_loc" ,"codebat_loc" ,"idplan_loc" ,"xplan_loc" ,"yplan_loc" ,"acces_loc" ,"accesen_loc" ,"id_ville_loc" FROM "localisation" WHERE "id_loc"=61
ProcessQuery
CommitTransactionCommand
pq_recvbuf: recv() failed: Connexion r-initialise par le correspondant
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
/usr/lib/pgsql/bin/postmaster: reaping dead processes...
/usr/lib/pgsql/bin/postmaster: CleanupProc: pid 2659 exited with status 0
pq_recvbuf: recv() failed: Connexion r-initialise par le correspondant
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
/usr/lib/pgsql/bin/postmaster: reaping dead processes...
/usr/lib/pgsql/bin/postmaster: CleanupProc: pid 2658 exited with status 0
pq_recvbuf: recv() failed: Connexion r-initialise par le correspondant
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
/usr/lib/pgsql/bin/postmaster: reaping dead processes...
/usr/lib/pgsql/bin/postmaster: CleanupProc: pid 2657 exited with status 0
pq_recvbuf: recv() failed: Connexion r-initialise par le correspondant
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
/usr/lib/pgsql/bin/postmaster: reaping dead processes...
/usr/lib/pgsql/bin/postmaster: CleanupProc: pid 2660 exited with status 0
pq_recvbuf: recv() failed: Connexion r-initialise par le correspondant
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
/usr/lib/pgsql/bin/postmaster: reaping dead processes...
/usr/lib/pgsql/bin/postmaster: CleanupProc: pid 2656 exited with status 0
pmdie 2
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)

================END OF BACKEND MSG=============================
Thanks for any help.
Emmanuel.

> >3) Using postgresql table whith many text fields & big text in this fields
> >Borland crash (IDAPI32.dll & KERNEL.dll error) when i use the DBNavigator
> with
> >nbRefresh, nbLast, nbFirst Buttons.
>
> the problem is the following postgresql doesn't support records
> more bigger than 16KB (or at least to updated in chunks of less
> than 16KB), if you need to store bigger fields you have to use the
> large objects interface.
> AFAIK, this will be fixed in 7.0, there will be no limitations in
> the size of tuples.

It works with Python & Pygresql ; Having make check & records (tuples) < 8Kb

> change the design or wait :)
>
> >- Change design of the database [ The type 'text' seems to be 'memo' in
> DBgrid
> >of Delphi] (I need long description of text in the fields)
>

Same problem with char (2048)

> >- Don't use DBNavigator with nbRefresh, nbLast, nbFirst Buttons (Not
> fixing
> >problem)
>
> I never use DBNavigator, it only tend to force you to make a bad
> interface with the user.
> What I do use is DBBitBtn at
> http://www.geocities.com/SiliconValley/Heights/7874/delphi.htm
>
>
> Sergio

Very nice link ; no problem to make install of DBBitBtn in Delphi 5 & good
documentation about DBBitBtn. Nice.

BUT SAME PROBLEM :((

Browse pgsql-interfaces by date

  From Date Subject
Next Message Jim Wise 2000-01-14 01:18:48 Re: [INTERFACES] JDBC 2.0 Standard Extensions for PostgreSQL
Previous Message David Marshall 2000-01-13 23:14:44 Re: [INTERFACES] JDBC 2.0 Standard Extensions for PostgreSQL