Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.


Welcome, Guest
Guest Settings
Help

Thread: Anyone using Firebird ODBC driver 2.04? Transaction issue with ADO.


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 0 Threads: [ Previous | Next ]
Arthur Hoornweg

Posts: 380
Registered: 6/2/98
Anyone using Firebird ODBC driver 2.04? Transaction issue with ADO.  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 17, 2017 1:22 AM
Hello all,

I have posted this issue in the Firebird tracker (subforum ODBC) a month ago but there isn't any activity there... so my question stayed unanswered. Maybe someone here has any ideas?


I'm trying to figure out why my inserts are so slow in Firebird Embedded 3.0 (they are a factor 10-20 slower than in Microsoft SQL Server). It doesn't make any difference (speed wise) if the insert queries are parametrized or not.

I'm using the latest Firebird ODBC driver in conjunction with Microsoft's OLE DB provicer for ODBC, this is because my (huge) application is ADO based. The ADO connection is set to transaction isolation level "read committed" (default setting).

I notice that Firebird's transaction counter (select current_transaction from rdb$database) is increasing very rapidly even though all my inserts are performed inside one big ADO transaction (BeginTrans... Loop... CommitTrans), surely that isn't as intended, shouldn't the counter just increment by ONE even if I perform thousands of inserts inside the transaction? Now I have the impression that each insert is committed individually, which would possibly explain why my inserts are so painfully slow. Also strange: Whenever I execute "select current_transaction from RDB$database" (using autocommit mode) then the value increments by TWO each time.

I'm pretty sure it is not an inherent weakness of OleDB or ODBC, both driver architectures perform blazing fast on MS SQL Server.

Any ideas?

Kind regards,
Arthur

Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02