July 21, 2008 at 5:53 am
Hi Friends
what is the difference between ODBC and OleDB?
July 28, 2008 at 9:33 am
ODBC-it is designed for connecting to relational databases.
However, OLE DB can access relational databases as well as nonrelational databases.
There is data in your mail servers, directory services, spreadsheets, and text files. OLE DB allows SQL Server to link to these nonrelational database systems. For instance, if you want to query, through SQL Server, the Active Directory on the domain controller, you couldn't do this with ODBC, because it's not a relational database. However, you could use an OLE DB provider to accomplish that.
In summary, The key difference between OLE DB and ODBC is that OLE DB can provide connection to data stored in non-relational format.
🙂
July 28, 2008 at 9:50 am
Good explanation. OLEDB is newer and superceeds ODBC. You should aim to use OLEDB connections where possible. I believe there's an OLEDB provider that encapsulates all ODBC functionality.
October 8, 2012 at 8:11 am
Though, this discussion had been an old discussion, I just want to add the information I got regarding OLD DB drivers. As per the below article, Microsoft is planning to depreciate OLEDB APIs and SQL Server 2012 will be the last version to support OLEDB. Therefore, it is highly recommended for programmers to write their codes with ODBC compatibility than OLEDB.
October 9, 2012 at 3:06 am
Steve Jones - SSC Editor (7/28/2008)
Good explanation. OLEDB is newer and superceeds ODBC. You should aim to use OLEDB connections where possible. I believe there's an OLEDB provider that encapsulates all ODBC functionality.
Steve, I think this may not be the best advice.
Looks to me as though OLEDB is being deprecated. Here's another link which discusses the topic.
The absence of evidence is not evidence of absence.
Martin Rees
You can lead a horse to water, but a pencil must be lead.
Stan Laurel
October 9, 2012 at 4:49 am
Phil Parkin (10/9/2012)
Steve Jones - SSC Editor (7/28/2008)
Good explanation. OLEDB is newer and superceeds ODBC. You should aim to use OLEDB connections where possible. I believe there's an OLEDB provider that encapsulates all ODBC functionality.Steve, I think this may not be the best advice.
Looks to me as though OLEDB is being deprecated. Here's another link which discusses the topic.
That was actually interesting link to read. Especially the part about
Microsoft has been supporting ODBC through all the releases of SQL Server for relational data access. This includes adding new functionality to the ODBC drivers whenever a corresponding feature is added to SQL Server.
I've developed an application few years ago, which needed to receive and display in GUI long stored procedure progress. Progress messages were implemented in stored proc using RAISERROR (of message severity) WITH NOWAIT which allows receiving such messages asynchronously by the client. It is possible using ADO InfoMessage handling. But, I only managed to get it working properly using ODBC driver! All other drivers, for some reason, would get all InfoMessage events accumulated and raised at once on the end of process. I was really surprised that time why "old" ODBC driver did work but newest SQL Server Native Client didn't...
Looks like MS always treated ODBC as the most up-to-date driver.
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply