ODBC技术有什么问题?

9 投票
3 回答
2048 浏览
提问于 2025-04-15 22:05

最近,程序员兼博主Zed Shaw提到,流行的Python书籍《Dive into Python》中应该去掉关于ODBC的内容。我自己从来没有用过ODBC,想搞明白为什么大家觉得ODBC这么“糟糕”。这项技术有什么优缺点?还有什么替代方案呢?

3 个回答

1

补充一下Cat的评论:很多JDBC驱动其实就是在ODBC代码上加了一层薄薄的包装,或者说某个特定的ODBC和JDBC驱动可能都是在一些共同的底层代码上加的薄包装。

曾经,ODBC也很慢,而且有很多bug,名声不好。微软每隔几年就要推出一种新的数据访问技术,这导致他们的ODBC驱动没有改进,而新系统又把很多bug直接复制过来了(比如那个糟糕的文本驱动)。不过,那些没有其他系统可用的人,比如iODBC的开发者,继续努力,最终开发出了一套强大、稳定且快速的驱动。早期关于性能的抱怨早就解决了。

我现在对ODBC最大的抱怨就是驱动安装的麻烦。JDBC可以动态安装,这对用户和IT部门来说都简单多了。

1

ODBC是我找到的唯一可以通过Python访问Solid DB服务器的方法。
如果你没有其他选择,这可能会帮你解决大问题。

2

最大的问题是,不同的数据源对64位的支持并不是完全到位。另一个问题是,有些人常常通过ODBC这个技术来连接其他技术,其实他们可以直接简化这个过程,去掉那些不必要的复杂步骤。比如,他们用JDBC连接ODBC,其实可以直接用JDBC连接,这样更简单。

撰写回答