我在这里找到了这个问题:OLEDB 与 ODBC https://stackoverflow.com/questions/271504/oledb-v-s-odbc
这给了我更多信息,但并没有真正回答我要问的问题,所以我将从那里开始。
我正在使用 C# 工作。我不会长篇大论地讲述我是如何解决这个难题的,但基本上我正在尝试在 ODBC 和 oleDB 之间做出决定。
我们与许多不同的客户合作,他们拥有各种各样的数据库(一些 SQL,一些 Oracle,还有一些我从未听说过并且懒得记住其名称的东西)
现在,据我了解,ODBC 已经很旧了,并且曾经/现在是标准。现在 OleDB 出现了,并且……有……不同吗?但完成了同样的事情(它与数据库对话)
我为什么要使用其中一种而不是另一种? ODBC(根据上面的帖子)是跨平台的,这很好,但他提供的有关 OleDB 提供的 ODBC 不提供的信息非常少。
在我的其他研究中,我发现(在 MSDN 论坛上)人们说“如果可以的话,请使用 OleDB,如果必须的话,请诉诸 ODBC”,当然,这没有给出任何理由,所以我想听听一些。
ODBC 是用于访问数据库的 C API。它有一个标准,每个主要数据库供应商都支持它,它有很好的文档记录,它是跨平台的。 OLEDB是一个类似的接口,它使用微软的COM技术而不是C API。这意味着它只能在支持 COM 的平台上轻松使用。
归根结底,这两个库都提供了大致相同的基本功能。事实上,一些 OLEDB 驱动程序实际上使用 ODBC 而不是本机数据库库。
因此,如果您是在 Windows 上工作的 C# 开发人员,那么 OLEDB 是两者之间显而易见的选择。如果您使用 C(或不使用 COM 的 C++),或者需要跨平台支持,那么 ODBC 是更好的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)