What are providers? What is the difference between OLE DB and ODBC?

15

I need to read dbf files. I found a tutorial to read the same where the author uses these two providers. In the code I only saw differences in the connection string.

What are these providers? What's the difference between them?

    
asked by anonymous 25.06.2014 / 17:56

3 answers

13

ADO.NET

The Microsoft documentation says what it is. I'll just summarize.

They are components to give access (read) to data coming from a certain source, probably a database. There are common operations that these providers must provide. ADO.NET treats them in an abstract way and providers implement them concretely according to the specificities of the data source.

The idea is that access to any data source is done transparently. It seems that everything comes from something common, that it is not necessary to understand the specific functioning of the source. this simplifies even switching from one source to another.

These providers work as if they were the drivers and OleDB but implement a more appropriate form for .NET.

If you understand how dbf works, you might understand what RDD (Replaceable Data Drivers ). It's basically the same thing.

Some Microsoft Defined Providers can be found here . Anyone can set their own providers. There are specialized companies in this and some market database provide providers for ADO.NET. Examples .

OleDB

How do you see the drivers themselves ODBC and OleDB are ADO.Net providers.

The OleDB provider can only access data sources that can communicate with this technology. Microsoft itself is abandoning its support in some of its products.

ODBC

ODBC is a more universal way of accessing data sources.

Both should be avoided because it is an extra layer, it has an extra processing cost, although OleDB avoids this somewhat. More specific providers for a database or other source is always more advantageous. The implementation of them is more efficient because they know how to access the data in the best way. More generic providers, such as the two examples cited, are used when there is no more specific provider.

Formal definitions can be found in links above.

    
25.06.2014 / 18:26
9

The difference is in the resources each one has and the databases it supports.

Open Database Connectivity (%) is a standard for accessing database management systems (DBMS). They are drivers for countless Databases such as SQL Server, Oracle, PostgreSQL, MySQL and others.

ODBC is an API developed by Microsoft that works with an interface that allows universal access to a variety of data sources.

They have basically the same function, with the difference of OLE DB accessing other data sources besides Relational Database.

Although many databases support OLE DB , Microsoft itself discourages its use in favor of OLE DB , so much so that ODBC will be Discontinued from SQL Server 2012 and the same will be removed in future releases.

    
25.06.2014 / 18:28
5
  

Provider is something that helps you, which provides something in the case a connection.

     

OLE DB and ODBC are APIs that allow access to a range of data sources.

  • (ODBC), is an international standard for manipulating relational data using the SQL query syntax in different data sources. ODBC has the advantage of being an international standard that allows manipulating variety of relational data sources through various Microsoft ODBC Drivers and third-party vendors. THE main disadvantage of ODBC is that it is limited to relational, syntax SQL-based data.

                                          X
    
  • OLE DB is Microsoft's low-level strategic interface for across the organization. OLE DB is an open specification developed to deliver ODBC success by providing a to access all types of data. OLE DB does not enforce no specific limitation on query syntax or structure of the data exposed as it can be retrieved in tabular format. An OLE DB data provider is analogous to an ODBC Driver, exposing a data source for an OLE DB consumer, such as ADO. A variety OLE DB provider data becoming available by Microsoft and third-party vendors. The first OLE DB data, Microsoft OLE DB Provider for ODBC Drivers, allows that you expose to any ODBC data source to a consumer of OLE DB.

25.06.2014 / 18:15