Unix / C中的数据库独立性

时间:2008-09-29 15:19:35

标签: c database portability

我们有一个用C语言编写并在Solaris&使用Sybase CT库访问Sybase数据库的Linux。 我们从内部开发的DDL生成表定义,索引,存储过程和C代码,以减少工作量和错误。

我们希望实现数据库独立性,因此我们可以添加(作为第一次启动)Oracle支持。

我们正在考虑ODBC或ESQL / C,但没有经验。

你会建议什么样的解决方案(当然,最好是便宜又简单的解决方案)。是否可以使用单一来源解决方案?

5 个答案:

答案 0 :(得分:3)

我强烈推荐SQLAPI++(可能还有一个缺点,那就是它是一个C ++库)。还有unixODBC,虽然我从未在代码中使用过它 - 但在研究便携式数据库API时只涉及它。 POCO还为数据库操作提供了统一的,可移植的API(尽管在C ++中),但最后我检查了它,POCO的那部分只是在开发的初始阶段。

答案 1 :(得分:1)

ODBC将帮助您编写一个更便携的系统,但如果您希望利用底层数据库,则必须小心地正确开发SQL,因为SQL本身可能不是100%可跨数据库移植,即使是不同的ODBC驱动程序。

答案 2 :(得分:1)

的iODBC http://www.firstsql.com/iodbc/

或unix odbc http://www.unixodbc.org/

可能属于“最便携”的选择。

此致 弗里德里希

答案 3 :(得分:0)

ODBC将为您提供比ESQL / C更多的可移植性选项。

答案 4 :(得分:0)

我一直在使用iODBC访问SQL Server和mysql,到目前为止已经有了不错的结果。我认为它也适用于Oracle,但这取决于ODBC驱动程序,并且到目前为止还没有尝试过。