Thread: Re: [INTERFACES] PostODBC 6.40.0007 to PostgreSQL 6.5.2 NEED HELP : Delphi-ODBC / Pygresql-Python
Re: [INTERFACES] PostODBC 6.40.0007 to PostgreSQL 6.5.2 NEED HELP : Delphi-ODBC / Pygresql-Python
From
Compte utilisateur Sultan-advl
Date:
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 thislist. 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 = postgresRemoteHost = 192.168.0.26RemotePort = 1065DatabaseName = newkiwiVerbose = 2Noversion = ftimings = fdates = Normalbufsize = 64sortmem = 512query 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�-initialis�e 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�-initialis�e 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�-initialis�e 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�-initialis�e 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�-initialis�e 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 :((