ODBC 和 OleDB 有什么区别?

2024-01-02

我在这里找到了这个问题: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(使用前将#替换为@)

ODBC 和 OleDB 有什么区别? 的相关文章

随机推荐

  • 如何解释 jag 中的某些语法(n.adapt、update..)?

    我对 jag 中的以下语法感到非常困惑 例如 n iter 100 000 thin 100 n adapt 100 update model 1000 progress bar none 目前我认为 n adapt 100意味着您将前 1
  • 如何链接到 /usr/local/lib 上的 libc++?

    我试图提供 L usr local lib tried nostdinc 尝试设置DYLD LIBRARY PATH and DYLD FALLBACK LIBRARY PATH but otool总是给我 otool L sample s
  • 作为服务运行时,TFS 构建代理无法连接到 TFS 2017 中的 HTTPS git

    我们在服务器上使用内部证书 我已按照以下步骤操作 https blogs msdn microsoft com tfssetup 2016 12 19 error ssl certificate problem unable to get
  • 如何在 CloudFormation 模板中创建一些随机或唯一值?

    有没有办法在 CloudFormation 模板中创建某种随机或唯一值 为什么我需要这个 在我们的模板中 我们有许多自定义命名的资源 例如AWS AutoScaling LaunchConfiguration与指定的LaunchConfig
  • P 值、显着性水平和假设

    我对 p 值的概念感到困惑 一般来说 如果 p 值大于 alpha 通常为 0 05 我们就无法拒绝原假设 如果 p 值小于 alpha 我们就拒绝原假设 据我了解 如果 p 值大于 alpha 则两组之间的差异只是来自采样误差或偶然 到目
  • 在 Go 中实现 Ruby 风格的笛卡尔积

    我想要得到的笛卡尔积a b c d a a1 b b1 b2 c c1 c2 c3 d d1 这是 Ruby 代码 e b c d print a product e 输出是 a1 b1 c1 d1 a1 b1 c2 d1 a1 b1 c3
  • 相当于 vb.net 中的 vb6.Format 函数,无需使用 Microsoft.Visualbasic.Compatibility.dll [重复]

    这个问题在这里已经有答案了 可能的重复 有没有办法以编程方式将 VB6 格式字符串转换为 NET 格式字符串 https stackoverflow com questions 4072490 is there a way to progr
  • Microsoft.NET.Sdk 和 Microsoft.NET.Sdk.Web 之间有什么区别

    我有一个包含两个主机项目的解决方案 一个是Web Host https learn microsoft com en us aspnet core fundamentals host web host view aspnetcore 2 1
  • 我的教义真的很慢。简单查询,一秒出结果

    这是我的设置 Windows Server 2008 R2mysql 5 1 562PHP 5 3 2教义1 2 任何人都知道为什么我的查询需要大约一秒钟才能执行一个简单的查询 echo date Y m d H i s time micr
  • 如何在 OpenSMILE 中创建自定义配置文件

    我正在尝试使用 OpenSMILE 从音频样本中提取一些功能 但我意识到设置配置文件是多么困难 该文档不是很有帮助 我能做的最好的事情就是运行一些提供的示例配置文件 查看结果 然后进入配置文件并尝试确定指定功能的位置 这是我所做的 我使用了
  • AngularJS Linky 过滤器停止传播

    我有一个span标签看起来像这样 span span 在 ng repeat 内 但我有一个问题 如果item Name包含电子邮件或链接链接过滤器会更改 html 并插入锚标记 现在 当我单击链接时 ng click 会触发并且锚点打开
  • 如何在mvc5中将文化设置为全局

    我正在使用资源文件来切换在 mvc5 中构建的 Web 应用程序中的语言 在索引文件中 它读取我设置的文化值 我从layout cshtml 调用设置区域性方法 并使用以下代码调用其值 Layout Views Shared Layout
  • 将网格高度调整为可用屏幕,无需滚动条

    我应该使用什么网格属性来使网格完美地保持在屏幕内 Using height 100vh on wrapper调整高度 但引入了滚动条 为了删除不需要的滚动条 我尝试设置body margin 0 但我希望在整个网格周围有一个边距 而不产生滚
  • 响应对象 - 使用 Mollie 和 Omnipay 付款

    我正在尝试在 Laravel 项目中使用 Omnipay 和 Mollie 创建付款方式 我正在使用以下 2 个库 https github com barryvdh laravel omnipay https github com bar
  • Python:计算一组整数中所有元素之间的差异[重复]

    这个问题在这里已经有答案了 我想计算一组整数中所有元素之间的绝对差 我正在尝试做abs x y where x and y是集合中的两个元素 我想对所有组合执行此操作 并将结果列表保存在一个新集合中 我想计算一组整数中所有元素之间的绝对差
  • 参考错误:Jest 环境被拆除后“导入”文件

    我是测试反应本机应用程序的新手 我从 Jest 开始 运行名为 App test js 的测试 该测试通过了 但我收到参考错误 You are试图importJest 环境被拆除后的文件 我努力了 jest useFakeTimers an
  • 为 IQueryable 生成表达式 [重复]

    这个问题在这里已经有答案了 我正在使用 LINQ gt WCF 数据服务 gt EF 它支持 LINQ 的子集 但有一些注意事项 一旦学习了各种事情的技巧和解决方法 我就没有遇到任何麻烦 但我想制作一个可重用的表达式生成器来仅比较Date的
  • Git 合并在我的文件中留下了 HEAD 标记

    我尝试使用 Git 在命令行中合并文件 这时出现一条错误消息 告诉我合并已中止 我以为事情就这样结束了 但后来我意识到我的文件中有 gitmarks 就像这样 start expression validchar 0 9a zA Z int
  • 如何使倒计时器在页面刷新时不重置

    我正在为我的项目创建一个在线考试页面 我有一个倒计时器 但它会在页面刷新时重置 怎样才能让它不重置呢 通过从数据库获取时间来设置计时器 我正在使用 php mysql 请帮我 这是我的代码
  • ODBC 和 OleDB 有什么区别?

    我在这里找到了这个问题 OLEDB 与 ODBC https stackoverflow com questions 271504 oledb v s odbc 这给了我更多信息 但并没有真正回答我要问的问题 所以我将从那里开始 我正在使用