database - ODBC 与特定的 RDBMS API 相比有何优势?

标签 database odbc

我相信 ODBC 已经达到了这样一个程度,即它在数据库引擎和操作系统上都更加可靠和可移植。如果考虑使用直接的 RDBMS API,那么速度优化的机会并不多。

此外,ODBC 抽象确实使源代码更具可移植性,因此迁移到新的 RDBMS 不需要完全重写代码!

不过,使用直接 API 可以通过移除抽象层来执行 ODBC,并且特定 RDBMS 低级约束可以提供对特定 RDBMS 完整功能的访问。

你怎么看这个?

最佳答案

通过 ODBC 发送的查询不是真正可移植的,除非您使用可怕的 ODBC Escape Sequences .即使这样,“可移植”部分也只是 SQL 语法的一小部分(例如,没有 DDL)。

坦率地说,我从未见过在这方面取得成功的项目。他们充其量支持一组经过测试的驱动程序,例如 SQL/Oracle/DB2,仅此而已。一种更好的方法是抽象您的应用程序数据访问层,并为您支持的每个后端提供不同的实现。

关于database - ODBC 与特定的 RDBMS API 相比有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275170/

相关文章:

sql - 外键的命名约定

database - 拆分数据库是合法的安全措施吗?

sql - 如何获取树结构中节点的所有子节点? SQL 查询?

sql - 为有异常(exception)的重复事件设计的数据库

mysql - MS Access 将链接表更改为 AWS MySQL Db 会减慢表单/报告的速度

ms-access - 为大查询问题连接 Simba ODBC 驱动程序 - SSL 验证

python - 在 Ubuntu 16.04 中安装适用于 SQL Server 的 Microsoft ODBC 驱动程序 13

sql - 使用日期函数获取仅小于特定日期的日期

c# - 使用C#向数据库中插入数据时出错

windows - 为什么 Win32::ODBC 在 Perl 5.10 和 Cygwin 下找不到 ODBC.dll?