OLE DB定义客户端与提供者(提供数据的服务器)进行通信的方式。提供者是一个COM对象,它是通过调用CoCreateInstance()创建的。在创建提供者的实例之后,消费者使用OLE DB定义的接口与提供者进行对话。通过调用QueryInterface()获取这些接口。
ODBC是用于访问databases.PCEDB的类似接口,它使用Microsoft的COM技术而不是C API。
我有一个使用类似于this的OLE DB(SQLOLEDB)的库,用于连接和提供服务器,即提供数据的服务器。由于SQLOLEDB不支持tls 1.2,现在我必须升级到更新版本的OLEDB(msoledbsql),但我看到Windows 7平台不支持更新的msoledbsql(我想在Windows 7中使用,所以此选项已经用完)。
所以现在让我使用tls 1.2的选项是使用odbc(版本11)。由于OLED调用在OLEDB广告ODBC之间有所不同。我想知道有没有办法通过OLEDB调用使用odbc,通过它我可以使用tls 1.2与数据库进行通信。如果可以的话,我可以通过更改少量调用或进行数据转换来更改现有库,并使用tls 1.2实现通信,否则我最终会使用odbc编写新库。有人可以通过分享这方面的知识来帮助我。
这个link解释了它可以通过使用CoCreateInstance方法创建MSDASQL(ODBC)提供程序的实例来实现。但是我不清楚它是如何工作的。