PacketRecords

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for Oracle in Delphi and C++Builder
Post Reply
giordanocwb
Posts: 6
Joined: Mon 24 Oct 2011 02:24

PacketRecords

Post by giordanocwb » Tue 06 Dec 2011 23:53

Hi,

We´re testing your dbExpress driver for Oracle because we´ve started to migrate our application from FibPlus components to dbExpress and we´d like to use both SQL Server and Oracle. For SQL Server, your driver seems to fit perfectly to our application on the tests we´ve done, but for Oracle the problem we´ve found is on the "Load on Demand".

The issue happens when we have large results (lots of records) and we set the PacketRecords property to 1 or more.

For example, we have here a table with 690000 records, it is a zip-code table, and we made a test in this table to test performance and the load on demand. We set a SQLDataSet with the command "SELECT * FROM TABLE" and the ClientDataSet with PacketRecords = 1. If you move forward, record by record, some time it will stop to move forward, because the EOF property is set to True misteriously, but if you move backward only 1 record, you can go forward more records until it stops again.

It doesn´t happen only with PacketRecords = 1, it happens if I set the PacketRecords less than 55000. If I use this "magical" number it works. The higher the number I set, further it goes without stop.

To this test, we made a simple application: TCRSQLConnection, TSQLDataset, TDataSetProvider, TClientDataSet, TDataSource and TDBGrid. We are testing here with Oracle 11g Express R2 and Delphi 2006.

We made the same test with the Oracle dbExpress default driver in Delphi and it works well in this case. But the Oracle dbExpress default driver doesn´t fit our needs, it has a lot of other problems.

Do you guys know something about this??

If I wasn´t clear enough, please let me know.

Thanks in advance.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Wed 07 Dec 2011 11:19

Hello,

I cannot reproduce the problem; no matter what values the PacketRecords property has, our dbExpress driver behaves correctly.

Please send an example demonstrating the problem and a script for creating and filling the table (or the dump) to alexp*devart*com.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Wed 14 Dec 2011 12:43

Hello,

I received your sample, but did not encounter any errors, even when different values in PacketRecords were used. Maybe this behaviour is connected with specific settings of your server.
Please try to reproduce the problem on another Oracle server.

giordanocwb
Posts: 6
Joined: Mon 24 Oct 2011 02:24

Post by giordanocwb » Wed 21 Dec 2011 16:42

Thanks for your reply, I´ll test it in another Oracle version and post here my experiment. In what version did you test it?? 11g XE R2 ??

Thanks

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Thu 22 Dec 2011 11:46

Hello

We tested your sample application on Oracle 10g, Oracle 11g, and Oracle 11g Express edition. Also you didn't specify which version of dbExpress driver you tested. Is it the latest version? Please provide us the exact and full version of your dbExpress driver (for example, dbExpress driver for Oracle ver. 5.1.2).

giordanocwb
Posts: 6
Joined: Mon 24 Oct 2011 02:24

Post by giordanocwb » Fri 23 Dec 2011 00:16

Sorry that I didn´t specify the driver version.

We are testing the 5.0.1 driver

bork
Devart Team
Posts: 649
Joined: Fri 12 Mar 2010 07:55

Post by bork » Mon 26 Dec 2011 11:48

Hello
I'll test it in another Oracle version and post here my experiment.
OK, we will wait for your experiment results.

Post Reply