Update of .NET Provider for OLEDB. Support of schemas implemented.
We continue to develop our .NET Provider for OLEDB. In the new build (#1434), we have implemented the methods to obtain database metadata:
- OleDbConnection.GetOleDbSchemaTable
- OleDbConnection.GetSchema
GetOleDbSchemaTable
Supported schemas:
- SchemaGuids
- DbInfoKeywords
- DbInfoLiterals
- 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.
GetSchema
Supported schemas:
- MetaDataCollections
- Restrictions
- DataTypes
- ReservedWords
- DataSourceInformation
- CharacterSets
- Collations
- Tables
- Views
- Columns
- Procedures
- ProcedureParameters
- ProcedureColumns
- Indexes
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.
Implementation peculiarities
- 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»).
Other changes
- 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.
New examples
If you are interested in working with stored procedures grouped into PACKAGE, please take a look at the new example for our .NET Provider: