问题描述
- 各位高手能推荐一款c++访问数据库的成熟的库吗,必须支持win和linux
- 我们公司要开发一个软件,第一个版本将在windows上运行,随后会发布linux版本,这个软件可能连接到Oracle/MySql/SqlServer等多种数据库,考虑到时间和成本的问题,我认为用现成的库要比自己开发和维护更加快捷高效(正如caozhy所说,实现这个功能必须“写一个抽象类,访问数据库。不同的数据库,继承这个抽象类,把差异的代码写在里面,使用工厂设计模式。并且把这些代码条件编译(针对windows和linux)”,我想这个过程一定要花不少开发和维护时间),所以想选一个成熟的库,这个库除了必须满足能访问多种数据库,且支持Windows和Linux的需求外,最重要的是性能,稳定性,和友好易用,各位高手能介绍一下,分享一下宝贵的经验吗?谢谢!!
解决方案
我觉得OTL好像是个很好的选择,能满足我们的需求,本来是考虑用SQLAPI++ Library,但是它是要花钱的,而且好像没有提供比OTL更多的价值,问客服也未回复,暂时就不考虑用它了
解决方案二:
本身不同数据库在不同平台都有各自的库和驱动。我之前说的意思是考虑到不同数据库本身sql查询的不同方言的适配。没有你想得那么复杂。
解决方案三:
访问数据库的代码很容易找到,稍微修改下不是很难,不知道什么初级水平高级水平是什么意思,但是应该要不了你半天的功夫,因为这个不涉及任何底层的东西。
我说了,底层是数据库厂商的事情,你就是调用。也没有什么稳定不稳定可靠不可靠一说。
解决方案四:
这个要看你的库是放在哪里的了,是单独有服务器还是在本机
本机的话直接用sqlite数据库最好用
网络的话最好的方法是写中间服务器,你的程序通过中间服务器连接数据库,这样要增加新数据库的支持你只需要改这个中间服务器的代码就可以了
linux下的数据库,开源和免费的有MySQL 商业版的有Oracle、Informix、DB2、Sybase
解决方案五:
写中间服务器应该是最佳和最省力的方式了,中间服务器通过ADO等和数据库连接,这样你的中间服务器可以毫无压力的连接几乎所有主流数据库,你的客户端无论是在linux还是windows下都可以通过这个中间服务器访问任何主流数据库
解决方案六:
所谓成熟的库一般都是比较好的封装了,你要做的就是把这些库统一起来,你再包装一下,根据不同的平台,sql语句有一些不一样,然后就是调用不同的类库来实现数据库查询工作。比如设计模式中的工程模式。
时间: 2024-10-28 04:59:11