IBProvider — OLE DB provider for Firebird and InterBase
Driver supports 19 Firebird and InterBase server versions:
With server client:
Without server client:
Moreover, IBProvider supports Yaffil SQL Server work.
… My first test of selecting a few hundred thousand records worked too fast, which initially gave me the impression something was wrong. Upon checking, everything seemed to be fine.
… The previous driver we used for interbase would occasionally throw an access violation. There is no way of catching an access violation, so with this previous driver, if we got unlucky our entire application would crash.
As if the driver crashing our entire program wasn’t bad enough — occasionally it would return nulls for the first column returned. There was no consistency for these errors and it was impossible to tell what the cause was without debugging into it.
Luckily a workmate referred me to IBProvider… Full case description >>
1. Upgrade to the new versions of Firebird/InterBase will be much more simple.
If you use IBProvider for connecting to Firebird and InterBase, the upgrade to other database server versions as well as the switching between servers will be much easier then in case of using other components.
IBProvider makes automatic setup of its own core to the specific SQL server that includes the following steps:
- Defining list of key words, reserved by SQL server.
- Loading metadata provider.
- Setup of ODBC Escape Sequences parser.
- Choice of embedded transactions algorithm and supported dialect.
- Connection of algorithms, optimized for concrete database server version.
You only need to write the queries, IBProver will make all the additional work:
- Request the information about metadata from SQL server.
- Specify the command parameters, their type, precision and size.
- Make the correct values transformation to the specified data type.
- Upload the data to the own swap-file if their size will exceed the required value in RW memory.
- Process Unicode rows in ordinary columns, arrays, BLOB-fields as well as storage-objects correctly
… IBProvider support (I mean it REALLY support) InterBase from the earliest version.
I discovered IBProvider searching google for the best component to use for native InterBase connectivity. I was looking for full InterBase support, smallest footprint and best integration ever. So I was not considering ODBC and I was looking for an OLE-DB/ADO.NET provider.
IBProvider fit the work very well because:
- It’s only one step above InterBase communication library (well not a native .net provider but as mentioned before, ole-db is enough)
- It support (I mean it REALLY support) InterBase from the earliest version
- It’s well designed (and have a good support forum) so you can install & use or distribuite & use.
- The data type converter does all for you in a fashionable way.
Since I’m an enough skilled programmer I was trying to save me some pain in the ass choosing the right provider. IBProvider is far above what I need so I choose to tell my customer about it. This is because if I do a good job I like to be acknowledged for that and the same apply for software solutions that I use.
I’m a consultant and a software developer. I wish to thank you for such a great product. I want to say also that I’m not interested in winning the prize, it’s enough to witness how I like IBProvider. Full case description >>
In IBProvider we try to take into account all the nuances of InterBase и Firebird API implementation, covering them with standard OLE DB interfaces. It helps working with Firebird and InterBase, usage of client libraries OLE DB, ADO, dbGo (ADO Express), ADO .Net, as well as some others.
2. A wide selection of development tools for interaction with Firebird and InterBase.
OLE DB providers technology is supported by practically all the modern development tools. Among them:
- Report builders: Crystal reports, Fast Reports, Reporting Services (SSRS).
- Analysis and OLAP tools (Analysis services (SSAS)).
- Microsoft Office applications (Word, Excel, Visual Basic For applications (VBA)).
- Microsoft SQL Server 2005 Linked Server and Business Intelligence.
You may use IBProvider and ADO.Net for connection to Firebird and InterBase in Visual Studio 2008-2013, develop modern applications on C#, Visual Basic .Net and other languages.
In ADO.Net Library there is a large set of components for the work with data: DataGrid, DataView, TableAdapter, OLE DB components, built-in masters and utilities (Server Explorer, Data connection wizard, DataSet designer) and other tools.
Client library on C++ for OLE DB
It enables to develop the applications on C++ in Visual Studio 2003-2013 and in С++ Builder. IBProvider is spread free of charge as the part of distributive.
Delphi and C++ Builder
The access to InterBase and Firebird from Delphi or from C++ Builder you may choose among the following variants:
- Interact with ADO via COM interfaces.
- Use dbGo (ADO Express) components.
Moreover, for C++ Builder you may use C++ library from IBProvider distributive free of charge.
MS SQL Server 2005 Business Intelligence
IBProvider enables working with InterBase and Firebird not only via the MS SQL Linked Server but also as the component of Business Intelligence tools:
- Use Integration Services (SSIS) for developing ETL processes (Extract/Transform/Load).
- Develop the reports with Reporting Services (SSRS).
- Form the analytic reports and develop the cubes with Analysis Services (SSAS).
… with IBProvider we solved the problem of data lost in the course of transfer to the new Firebird-based information system
In 2010, our company had its 15-year anniversary. The top management decided to purchase a ready-made and polished by years information system that will cover most business areas.
The upload took place. Oh, God! Some imported data was distorted or lost. How were we to find the difference, taking into account that the source data was on MS SQL Server and the target DBMS was Firebird. After the linked server had been created, we discovered that the ODBC driver was unable to cope with quite large amount of data, we are not talking about millions of entries, just several dozens of thousands. The queries directly merging data from the two DBMSs were run disastrously slowly.
We decided to test IBProvider. Wow! The same query was run in several seconds. We couldn’t believe it, it was perfect! We compared the data and corrected the differences. Moreover, we decided to transfer the new information system to new x64 server. We though this provider was not suitable for x64. Nevertheless, we read instructions and tried. And it worked! Full case description >>
Head of information systems development and support department
ZAO TelekomPlus, Perm
3. Possibility to work with 32-bit and 64-bit applications.
IBProvider Professional exists in 2 editions:
- IBProvider Professional Edition for 32 bits — a standard version allowing to create 32 bits applications.
- IBProvider Professional Edition for 64/32 bits — a component package allowing to develop 32 bits as well as 64 bits applications.
4. You don’t have to reinvent the wheel, all you need for work is already available!
Valuable transactions support
- Embedded transactions.
- Distributed transactions, two-phase commit, MS DTC transactions coordinator support.
- Transaction retain (Commit Retain/Rollback Retain).
- Transactions auto commit mode.
- All the isolation levels: read committed, snapshot, Snapshot Table Stability.
- Named Savepoints.
Work with commands parameters
- Named and positional parameters support.
- Automatic specifying of parameters descriptions, data sizes, precision and types.
- Direction Support — In/Out parameters.
- Support of all the InterBase and Firebird data types, including arrays and BLOB-fields.
- Support of special types like BOOLEAN in InterBase 7, InterBase 2007, InterBase 2009
- Emulation for BOOLEAN and GUID types in Firebird and in InterBase before InterBase 7.
- Implementation of the wide OLE DB Types range.
- Built-in types converter (client errors protection).
SQL queries parser
- Support of SQL-scripts
- Special support of DML for Firebird 2.0, Firebird 2.1 (MERGE, UPDATE OR INSERT, RETURNING, EXECUTE BLOCK, etc).
- ODBC Escape Sequences parser.
- DDL queries support (CREATE/ALTER/DROP).
- Connection pool support.
- Query pool support.
- Updatable Rowsets and Bookmarks support.
- Work with multithreaded applications.
- Asynchronous rowset loading, which can give up to 30% to speed of data processing.
- Client and server cursors support.
- Support of 49 Firebird and InterBase code pages, including UNICODE, UTF8 and binary OCTETS.
- Multilingual support and built-in connection wizard — Microsoft Data Link.
5. Saving of application development time.
IBProvider is a big choice of development tools and support of all the InterBase and Firebird servers. Don’t waste your time studying the low-level Firebird and InterBase API. Don’t learn the components that limit you in choosing the development tool, download IBProvider.
… In our tests, the transaction execution speed for a table of 4,500,000 was only 9 seconds compared to 13 seconds for the same Delphi query
The 3 main reasons for choosing IBProvider were the following:
- The transaction execution speed for a table of 4,500,000 was 13 sec for a Delphi query and 9 sec for a IBProvider query (this was the test to ground the purchase of the product).
- Economical resource consumption — possibility of parallel work with other database filling Delphi programs.
- Crucial for the decision to buy IBprovider was the ability not to interfere with our company’s main product — Volga hardware and software complex.