我想写一个应用程序,它应该能够连接到多个数据库(这将由参数在启动时配置)。应用程序将为每个数据库引擎提供不同的查询,这不是问题。
问题是我希望能够连接到不同的数据库引擎。Java有JDBC,Perl有DBI。C++有什么功能?
更重要的是,我不想使用具有太严格许可(商业许可)的数据库驱动程序。GPL可能是--但我想避免这种情况。
发布于 2012-01-09 08:36:04
实际上,现有的每个数据库引擎都提供了ODBC接口。我认为JDBC实际上是ODBC的克隆。
那么,您需要的是ODBC API的C++包装器,它实现RAII以确保在发生异常时释放数据库资源,等等。例如:http://simpledb.sourceforge.net/
发布于 2012-01-09 08:12:44
有较旧的OLE连接。使用OLE,只要安装了正确的驱动程序,就可以连接到平面文件、Oracle、SQL或MySql数据库。
发布于 2012-01-09 09:00:02
ODBC是最兼容和最低级的。OLE DB的级别更高且更易于使用,因此,如果您为所有可能的DB系统找到OLE DB提供程序,它将是最佳选择。另外,ODBC是您的选择,因为几乎所有的DB系统都支持它。
编辑:查看此链接:http://blogs.msdn.com/b/sqlnativeclient/archive/2011/08/29/microsoft-is-aligning-with-odbc-for-native-relational-data-access.aspx这使ODBC成为唯一正确的选择。:)
https://stackoverflow.com/questions/8782640
复制相似问题