哪个选项在C中使用sql

前端之家收集整理的这篇文章主要介绍了哪个选项在C中使用sql前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的C应用程序中连接和使用sql数据库.我的应用程序需要存储一些数据(可以以表的形式存储),这些数据将不断增长,需要在不同进程之间共享 – 因此我需要一个数据库.我选择了sql,因为它是推荐给初学者,我需要多个作家,所以没有sqlite.

搜索时,我找到以下选项(这些选项可能包括ORMS,API和驱动程序,并且可能不包括这些选项中的一些 – 即我是完全错误的理解该选项;然后请更正我):

> SQLAPI++Source(另有官方网站)
> MySQL Connector/C++(还有一些优点) – Source
> MySQL++
> CppDB
> SOCI
> Libodbc++(运行在ODBC之上)
> Database Template LibrarySource
> Oracle Template Library
>使用sql.h与ODBC:
ODBC选择:
一个. MYSQL Connector/ODBC
EasySoft ODBC
C. Some Others

一些SO的线程可以帮助我找到这些选择:T1,T2,T3,T4.

我的问题:

>哪个选项使用和什么时候?这些选项的优点/缺点? (可以基于绩效,学习曲线,兼容性,现有支持).是否有任何基准或建议在这些选项中进行选择. (我真的不知道这些选项,所以可能需要这些选项中的一些组合在一起使它们工作,也可能是某些选项是相互依赖的.)
>这些选项需要一组工具.
>如果使用任何ODBC依赖库,那么使用哪个ODBC. (上面有链接“Some Others”中有许多ODBC.)
>任何来源学习他们. (对于我已经提到过的一些选项.)
有没有什么我错过的,完全?
>如果我的应用程序在C中怎么办? (这是因为我也需要开发一个应用程序在C中使用sql)

我知道我已经问了太多请给出任何特定部分的建议.

解决方法

您需要考虑的主要问题是在应用程序和数据库方面需要跨平台.

如果您需要连接到多个关系数据库服务器(例如Oracle和MysqL或Firebird),那么您可能会更好地使用ODBC(为什么值得使用UnixODBC).我没有使用sqlAPI或SOCI,所以我不能说这些与UnixODBC的比较.

使用UnixODBC,您可以在部署中获得相当多的选择.很多时候,我根本没有安装UnixODBC,而是直接将应用程序直接连接到ODBC驱动程序(如果一个特定的实例只是要与单个数据库通信,那么这很有用,并且可以最大程度地减少安装所需的东西).它也适用于C和C.

使用UnixODBC – > MS sql Server,我们使用FreeTDS驱动.最初我很担心这样做,但事实上我发现线路协议是完全指定的,所以这不仅仅是一个逆向工程的黑客(而且我相信同样的人,使FreeTDS也做商业的EasySoft驱动程序). MysqL自己提供UnixODBC兼容的驱动程序.

我没有尝试UnixODBC – > Oracle,因为我已经写了一个直接的OCI(即时客户端)接口,我们一直使用这个.

UnixODBC比使用像OCI这样的线路协议方法要慢一些,但差别不大,不用担心.我们使用OCI的原因是Oracle为Linux / AIX / Solaris平台免费提供,而我找不到这些平台的ODBC oracle驱动程序.

猜你在找的C&C++相关文章