Обсуждение: deadlock,ODBC,C++Builder

Поиск
Список
Период
Сортировка

deadlock,ODBC,C++Builder

От
Daniel £a¶
Дата:
Hi

    I wrote an application (C++Builder - Insight PGSQL ODBC driver -
PostgreSQL 6.3.2). Everything works fine ( PostgreSQL is great). But I have
ONE problem. How can I avoid deadlock using TTable (in C++Builder) component
for editing or inserting data When one user started editing and another (on
different PC) try to to save its data , second application hungs up until the
first one application's exit. I found in 'man lock' that I should use begin/end
transaction block. ODBC log file indicates that BDE (Borland Database Engine)
declares cursors between begin/end, and make update between begin/and.


    Please, Help me!
                Daniel Las

Re: [GENERAL] deadlock,ODBC,C++Builder

От
David Hartwig
Дата:
In the Driver Setup dialog, go to Advanced Options / Driver.   Turn OFF "Use
Declare/Fetch".    This will cause the driver to read the entire keyset into memory
instead of leaving open the cursor that is fetched on request from the
application.   Just one of those space/time trade-offs.

Daniel £a¶ wrote:

> Hi
>
>         I wrote an application (C++Builder - Insight PGSQL ODBC driver -
> PostgreSQL 6.3.2). Everything works fine ( PostgreSQL is great). But I have
> ONE problem. How can I avoid deadlock using TTable (in C++Builder) component
> for editing or inserting data When one user started editing and another (on
> different PC) try to to save its data , second application hungs up until the
> first one application's exit. I found in 'man lock' that I should use begin/end
> transaction block. ODBC log file indicates that BDE (Borland Database Engine)
> declares cursors between begin/end, and make update between begin/and.
>
>     Please, Help me!
>                                 Daniel Las