Unix / C中的数据库独立性
时间:2020-03-06 14:52:47 来源:igfitidea点击:
我们有一个用C编写的系统,该系统在Solaris&Linux下运行,该系统使用Sybase CT库访问Sybase数据库。
我们通过内部开发的DDL生成表定义,索引,存储过程和C代码,以减少工作量和错误。
我们希望实现数据库独立性,因此我们可以添加(作为第一个起点)Oracle支持。
我们正在考虑ODBC或者ESQL / C,但没有相关经验。
我们会建议什么解决方案(当然最好是便宜又容易的解决方案)。是否可以有一个单一来源的解决方案?
解决方案
ODBC将为我们提供比ESQL / C更多的可移植性选项。
我一直在使用iODBC访问SQL Server和mysql,到目前为止已经取得了不错的成绩。我认为它也适用于Oracle,但这取决于ODBC驱动程序,到目前为止还没有尝试过。
ODBC将编写更加可移植的系统,但是如果我们希望利用基础数据库,则必须谨慎地正确开发SQL,因为即使使用不同的ODBC,SQL本身也可能不是100%可移植到数据库中的司机。
iodbc
http://www.firstsql.com/iodbc/
或者unix odbc
http://www.unixodbc.org/
可能是"最便携"的选择之一。
问候
弗里德里希
我强烈建议使用SQLAPI ++(缺点是它是C ++库)。还有unixODBC,尽管我从未在代码中使用过它-仅在研究可移植数据库API时才涉及到它。 POCO还为数据库操作提供了一个统一的可移植API(尽管还是C ++),但是最后我检查了一下,POCO的部分还只是在开发的初始阶段。