English version Russian version




We are glad to welcome you on pages of our updated site. For two and a half of a month past we did not stand on a place, because a competition very effective stimulus to driving forwards. If in March 2000 IBProvider was sole working variant OLEDB for IB, then now there are already three official drivers of this type. Besides that the new ODBC drivers together with MSDASQL (OLEDB provider for ODBC), from our point of view, carry on struggle for a place under the sun too. As yet our single difference from others is that we are not limited only with one provider and ADO as by the tool of access to it.

The developed by us library of classes for C++ allows completely using possibilities of OLEDB, instead of filtered ones up through ADO. Thus the expenditures on writing of the code are identical, though it is difficult to believe. We have not stopped on it. On the basis of this library TOLEDBDataSet was written. And though it was the "children's" attempt, it has shown that OLEDBExpress is a reality, though and put off on the time. "Indirect" effect of the all direction is the more full compatibility with the OLEDB specification, as while ADO smoothes down and eliminates deficiencies of a lower layer. But in the future surely it will be changed and requirements will become more rigid. Therefore we are not especially disappointed with slow pace of work. The expenditures are paid already now.

Changes in IBProvider

By the current moment, due to total renovation, the handle of resultant sets has varied. Now Provider can independent provide random access to the selected set, and begins to use the temporary file, if will exceed a limit on permissible memory size (it does not depend on a mode of access). By default the object is created with sequential one-direction access.

 cmd.CommandText="select * from people" cmd.Properties("IRowsetLocate")=true ' we permit random access set rs=cmd.Execute 

After that it is possible to use methods of Recordset: MoveLast, MoveFirst etc.

Other large change concerns commands. Support of named parameters is a thing rather trivial, if not consider that ADO flatly refuses to transmit these names in Provider. Therefore, name indicated in Command.CreateParameter - only for convenience of use ADO, no more. It is good, that InterBase has possibility independently to determine types of parameters of inquiry, which Provider, together with names, and returns ADO to components.

 cmd.CommandText="select * from people where id<id" cmd("id")=100 set rs=cmd.Execute 

For a control and detection of errors in the text of inquiry at commands the "prepare stmt" property isdefined, in which the transformed text of inquiry with '?' instead of names is stored. One trouble was detected while testing: in ADO it is impossible to use names for BLOB parameters. The technical aspect of this error is known - ADO tries to transmit the information on parameters back into Provider, but without the indication of names. It does not suit for Provider. A solution is in the use of non-named parameters ('?'). It is not permitted to mix in the text of inquiry named and non-named parameters.

During type definition of parameters, Provider carries out a control of simultaneous use of different types for one name. Four groups are defined, inside each of them the "largest" type will be defined, which will be assigned to the concrete parameter:

  • CHAR, VARCHAR (The "best" type is selected according to length)
  • SMALLINT, INTEGER, INT64, FLOAT, DOUBLE PRECISION
  • TIME, DATE, TIMESTAMP
  • BLOB

Is not permitted the use of types from different groups for the same name. During runtime the number of parameters defined by Provider, is compared to number of the descriptions and values of parameters passed by the client. When an error occurs the intelligible explanation is returned.

Parameters are defined only if it is necessary. You can define their description (for example, through Command.Parameters.Append) by yourself for decrease of number of inquiries to InterBase. As told already, in ADO for named parameters it does not work. There is one more problem associated with it, when you use repeatedly request with named parameters without closing resulting set earlier created, ADO will create the new OLEDB-command without asking to define types of parameters. Speaking briefly, the number of disadvantages is compared to number of advantages.

Except the "useful" code fresh lot of "paranoid" errors traps appeared in Provider. But on our observations it has a little effect on speed. But it is the guaranty of quality and more simple way of detection of guilty. Nevertheless now you can download "pure" code also. All ours tests have found nothing and that's why we have risked by our health to suggest it to you.

What's new in the client library?

Main change is the beginning of transition on STL. This process affects many files, therefore completely it will be completed only in the next millenium. And the using of extensions by Borland such as __property and __closure does inconvenient the process of carry to VC. Though, there is a solution for __property in VC already. Due to architectural features STL, now it is possible to determine the own memory manager for the library.

Because the new possibilities of Provider will be accessible only through changes of properties of its objects it is necessary to have possibility to do this. The new class t_db_obj_props simplifies this task up to a minimum.

The new class t_db_base_row was defined and assignment of t_db_base_dataset was changed.

And at last, our new "offspring" is TOLEDBDataSet. From point of view of professional users and creators of components of this category this "offspring" has functionality limitations and contains potential errors. And it is created dynamically, instead of in the designer.

The examples for operation with Provider also are transformed and extend, as we use them for testing.


Digg It Reddit Technorati Del.icio.us Google Bookmarks Slashdot StumbleUpon Yahoo MyWeb All

Publish date: 01-12-2000. Copyright: IBProvider. This material may be reproduced on other web sites, without written permission but link to http://www.ibprovider.com required.

All IBProvider news:
06-11-2008 New IBProvider – support of 49 code pages, ability to work without provider registering, prevention of memory leaks in Firebird client.
03-10-2008 In the new edition of IBProvider Professional 7 codepages support was implemented, bugs were fixed, BLOB-fields access and memory management was improved
25-08-2008 The 6 world-wide Firebird Conference in Bergamo, Italy
30-07-2008 IBProvider updates are available. Operation with NUMERIC-types and connection pooling were improved. External and temporary tables support in metadata schemes was added. Disabled metadata cache mode performance was increased in 2.5 times.
08-07-2008 New IBProvider Release Candidate 3 is available. Support of the integrated Windows authentication (SSPI) for Firebird 2.1, Support of long names and BOOLEAN type in Interbase 7.x and Interbase 2007, etc.
17-06-2008 IBProvider releases have appeared. OCTETS character set support, data type converter release, 64 bits values in metadata schematics.
12-05-2008 IBProvider releases have appeared. New implementation of the data types converter.
07-04-2008 New IBProvider v3 for 64 bits operational systems.
11-03-2008 New build No 3965 of IBProvider v 3.0 RC2 has appeared.
08-02-2008 New IBProvider releases have appeared. Visual Studio 2008 support and DTC support were improved, known bugs were fixed and Firebird/Interbase compatibility was enhanced.
26-12-2007 We have changed the IBProvider license agreements and now give discounts.
08-11-2007 The second Russian Firebird and Interbase conference will take place in Moscow, November 23, 2007
30-10-2007 IBProvider Free Edition (3.0.0.3313 Release Candidate 2 [RC2]) has appeared.
29-10-2007 IBProvider v3 Release Candidate 2 (RC2) has appeared.
18-10-2007 New release of the IBProvider Professional Edition appears. We have improved Integration with Microsoft office and fixed known bugs.
13-09-2007 New providers versions in the Professional Edition now can be used with Microsoft SQL Server 2005 Business Intelligence Development Studio
20-07-2007 The latest editions of IBProvider Professional and IBProvider Free now support new features of Firebird 2.1
25-05-2007 Download engine now working. All customers will receive personal releases more quikly.
27-04-2007 The latest editions of IBProvider Professional and IBProvider Free are available for download.
13-12-2006 C++ client library for OLE DB-providers now support the Unicode project types (which based on unicode strings).
04-12-2006 New releases appear: IBProvider Professional Edition - is a professional developer kit for Interbase and Firebird. IBProvider Free Edition - is an absolutely free of charge and most powerful version based on the commercial core of IBProvider v3.
07-10-2006 IBProvider 3.0.0.2385 [RC1] and IBProvider 2.5.0.2088 [Release] now avaliable. New properties aliases: Charset, PSWD. Metadata reading algorithm and SQL parser was optimized. Supporting arrays in ADO .Net.
28-08-2006 IBProvider 3.0.0.2065 [Beta]. IBProvider 2.4.7.2034 [Release]. MSSQL 2000/2005 integration improvement.
13-08-2006 IBProvider 3.0.0.1959 [Beta]. IBProvider 2.4.6.1989 [Release]. Ñ++ library for OLEDB providers now support VC8 (VS2005)
25-05-2006 IBProvider 3.0.0.1324 [Beta]. IBProvider 2.4.5.1953 [Release]. Client Library for C++.
05-05-2006 IBProvider price will be changed after 23 may 2006. New demo versions are avalible
30-03-2006 IBProvider release v.2.4.4 (v.1.7.26) build 1885 now available. IBProvider v.3 [build 1107. beta]
27-02-2006 IBProvider v.1/v.2 [build 1877 Release Candidate 1]. IBProvider v.3 [build 1062. beta]
30-11-2005 IBProvider 2.4.3.1859. Release.
01-11-2005 Fix of problem with arithmetic errors in .NET applications.
28-09-2005 IBProvider v3 [build 913] [beta version].
22-09-2005 IBProvider v3 [build 890] [beta version]. IBProvider v2/v1 [build 1811].
01-09-2005 The InterBase and Firebird Developer Magazine.
28-07-2005 IBProvider v3 [build 789] [beta version]. IBProvider v2/v1 [build 1802].
15-06-2005 IBProvider v3 [build 779] [beta version]. IBProvider v2/v1 [build 1795].
12-04-2005 IBProvider User Forum is Open
22-03-2005 IBProvider 2.4.2.1772. Release.
28-02-2005 IBProvider 3.0.0.639 beta. Change of the corporate license.
11-02-2005 IBProvider 3.0.0.573 beta.
24-12-2004 IBProvider 3.0.0.449 beta.
12-11-2004 IBProvider 2.4.1.1720/1.7.23.1720. Release.
31-05-2004 IBProvider 2.4.0.1607/1.7.22.1607. Release.
14-05-2004 Release Candidate 2.4.0.1588/1.7.22.1588
30-04-2004 Version 2.3.3.1523 beta
29-03-2004 Version 2.3.3.1416 beta
17-12-2003 Version 2.3.3.1300
18-10-2003 Version 2.3.2.1233
22-08-2003 Version 2.3.1.1184
25-06-2003 Version 2.3.0.1134 - extended support of MS AS, MS SQL
23-04-2003 Version 2.2.0.969 - Data Links dialog support, localization
31-03-2003 Version 2.1.2.
26-03-2003 Version 2.1.1.
04-03-2003 Version 2.1. The error processing mechanism is completely reconstructed.
26-02-2003 Discounts on IBProvider.
18-02-2003 Changes in License Terms
23-01-2003 Version 2.0.1.735. Bug fix, optimization, HTML help
10-12-2002 The second generation IBProvider
21-11-2002 Version 1.7.11.584 and 1.8.0.584 beta
06-11-2002 Version 1.7.10.542 and 1.8.0.542 beta
20-10-2002 Version 1.7.9.481 and 1.8.0.481 beta
12-08-2002 Version 1.7.6.350 and 1.8.0.350 beta
30-07-2002 Version 1.7.5.311 - Bugs fixing
10-07-2002 Version 1.7.4.289
20-06-2002 Version 1.7.3.269
30-05-2002 Version 1.7.2.255
08-05-2002 Version 1.7.1
22-04-2002 Version 1.7.0.227. Support of UNICODE. New prices.
29-03-2002 Version 1.6.3.213
28-02-2002 Version 1.6.2.201
08-02-2002 Version 1.6.2.199
19-01-2002 Version 1.6.1.185
24-12-2001 Free Version 1.5.2
13-12-2001 Version 1.6
14-11-2001 1.5.1 - Change of Compiler. Optimization. IColumnsRowset. etc.
30-08-2001 IN-OUT Parameters. Arrays. ....
16-07-2001 Error with test of connection in Data Links
21-05-2001 Support of stored procedure
16-05-2001 New samples on Delphi for MTS from Andrei Semak
14-05-2001 The final touches to RowSet
30-04-2001 Commercial release
20-04-2001 Support of DTC and Resource pooling
04-04-2001 Support of null-containing character arrays
16-03-2001 Implementaion of IOpenRowset::OpenRowset
15-03-2001 Support of DECIMAL and NUMERIC
12-03-2001 Errors correction...
01-03-2001 Fix bug in command prepare
03-01-2001 The main cardinal change is in accordance with implementation of operation auto-commit support.
01-12-2000 IBProvider and client library Reconstruction.
15-09-2000 New version of IBProvider for IB6.

Firebird and Interbase related articles



Prev Next Site Build No. 3.0.0.1660