We continue to develop our .NET Provider for OLEDB. In the new build (#1434), we have implemented the methods to obtain database metadata:
- All schemas of the OLEDB Provider
Distinctions compared to standard OLEDB.NET Provider:
- The SchemaGuids schema describes all schemas including SchemaGuids, DbInfoKeywords and DbInfoLiterals.
- The SchemaGuids schema supports restrictions for the Schema column.
Distinctions compared to standard OLEDB.NET Provider:
- The MetaDataCollections schema supports restrictions for the column CollectionName.
- The Restrictions schema supports restrictions for the columns CollectionName and RestrictionName.
- More accurate population of the DataSourceInformation schema.
- More accurate population of the Restrictions schema.
- Caching of data from its own schemas (SchemaGuids, DbInfoKeywords, DbInfoLiterals, …).
- Coherence of information from metadata schemas with the descriptions of the resulting rowset columns and command parameters (ensured by IBProvider).
- Different algorithms of metadata loading for Interbase and Firebird. Including – our provider takes into account the version of the server and the version of database ODS (ensured by IBProvider).
- Caching of OLEDB metadata schemas is carried out on the IBProvider level (see a property «schema_cache»).
- The OleDbSchemaGuid class added with the lists of known OLEDB schema identifiers.
- The OleDbSchemaRestriction class added with the lists of restriction indexes for known OLEDB schemas.
- The OleDbLiteral class added.
- The OleDbMetaDataCollectionNames class added.
- The number of tests and debug structures ensuring the correct work of components increased.
If you are interested in working with stored procedures grouped into PACKAGE, please take a look at the new example for our .NET Provider:
Creation and working with PACKAGE (C#, FB3)
A half year before we product first release of LCPI ADO.NET Data Provider for OLEDB, which became powerful alternative of standard .Net OLE DB Provider and provide advanced opportunities for all Firebird and Interbase users in .Net Framework:
- Automatic generation of command parameters which you do not need to enter manually anymore;
- Named and unnamed parameters, also IN, OUT and IN-OUT parameters;
- Connection pooling and SQL statement pooling which let your code run even faster;
- Nested («nested_trans=true») and distributed (TransactionScope, EnlistTransaction) transactions;
- All data types, including GUID, TIME (Dialect 3), DATE (Dialect 3) and multidimensional arrays;
- The MARS technology which enables working simultaneously with several active DataReader objects;
- And hey, ExecuteScalar now really loads one value only, not the entire record
- Multiple parameter-containing commands in one statement (SQL scripts);
Up to this day LCPI ADO.NET Data Provider for OLEDB was available only in professional version of IBProvider but now you can download it on the download page together with first release of IBProvider in the new year:
You cand download Firebird OLE DB Provider and ADO .Net Data Provider here.
If you have ever worked with Firebird or Interbase using the standard .NET provider for OLE DB (System.Data.OleDb), you will have likely encountered issues like this:
- The necessity to add ALL parameters manually.
- Even though the OLE DB provider supports parameter generation for commands, the .NET provider doesn’t use it, so you as the programmer must do that work on your own.
- The lack of support for named parameters. Although they actually exist, using them in reality requires a whole set of complex manipulations (the steps needed to add a parameter to a collection, etc.).
- The impossibility of using multiple DataReader objects at the same time (Multiple Active Result Sets).
- No execution of SQL scripts which contain several SQL expressions per command. This list of difficulties a .NET developer has to deal with is far from complete. Now it’s all different in a fundamentally new .NET Data Provider for OLE DB
We are continuing to actively add new functionality of Firebird 3 DBMS to IBProvider.
Let us remind you that already 2 months ago we added support of BOOLEAN data type from Firebird 3. In the new version of IBProvider Professional, we added support of PACKAGE instruction.
Now you can put in order a bulk of database procedures and functions and group them by sense into individual modules (PACKAGE). This arrangement will substantially simplify understanding and maintenance of SQL code.
Ream more about Firebird 3 access improvements.
4 key distinctions of the new IBProvider v3.4 that make your applications faster:
- Possibility to abort lengthy loading of resulting rowsets in SQL scripts.
- Control and adjustment at your own discretion of deferred data loading.
- Accelerated work with BLOB fields and arrays in updatable rowsets.
- Background garbage collector became multithreaded.
Please read details here: Firebird driver become faster
Do you want to enable execution of SQL scripts in your programs and spend less time for exhausting coding?
Do you want to create a table, a generator and a trigger, to add data to the table, to make data selection and then to delete all this in one command? For example:
set autoddl on;
create generator GEN_ID_TEST_TABLE;
create table TEST_TABLE (ID INTEGER NOT NULL PRIMARY KEY,TEXT BLOB SUB_TYPE TEXT);
create trigger BI_TEST_TABLE for TEST_TABLE
if(NEW.ID IS NULL) then NEW.ID=GEN_ID(GEN_ID_TEST_TABLE,1);
insert into TEST_TABLE (text) values('record 1');
insert into TEST_TABLE (text) values('record 2');
set term !!;
select * from TEST_TABLE!!
set terminator ;!!
set autoddl off;
drop table TEST_TABLE;
drop generator GEN_ID_TEST_TABLE;
Now it is possible with new IBProvider! IBProvider v.126.96.36.19917 allows to run a command with several SQL queries (SQL scripts).
Read more right now:
Know how to add execution of SQL-scripts for Firebird and Interbase in your programs!
Have you ever lost microseconds when working with the type TIME?
Definitely, if you have ever tried to use them. In the previous versions of IBProvider, time was stored in OLE DB structure of DBTYPE_DBTIME type that does not support fractions of a second.
In the new IBProvider version, time data types have been improved. The new properties dbtime_rules and dbtimestamp_rules allow to set time storage not only in DBTIME/DBTIMESTAMP but also in WSTR and in the new type of MS SQL 2008 – DBTIME2 without losing milliseconds.
Please, read more and download new IBProvider Professional right now: Download Firebird OLE DB driver.
Today we are (IBProvider team) overwhelmingly happy because we have finally released the final build of the 3rd version of IBProvider.
Is it possible to write a similar database driver?
Of course, you can write it! All you need is a strong desire and 7 years of free time. Exactly the same time it took us to write the third version of IBProvider.
Please read about development results here and download new Firebird driver here:
Firebird driver developers results
Regards, IBProvider Team.
In the new article we describe a new feature of IBProvider – supporting ADOX.Library.
There are 2 examples on Visual C# and VBScript which describe how to create Firebird database using ADODB Extensions.
See details here:
Create Firebird or Interbase database (ADOX, Visual C# .NET, VBScript)
New IBProvider 188.8.131.5222 RC4 release appeared.
Please visit IBProvider official site and get your new driver version and find more examples for new release: Firebird driver – 184.108.40.20622 RC4.