【问题标题】:Is Using MySql Connector/C++ necessary in order to access/change mysql database?是否需要使用 MySql 连接器/C++ 才能访问/更改 mysql 数据库?
【发布时间】:2014-03-07 01:35:16
【问题描述】:

如果我必须下载连接器,我是否还需要在任何我想使用 C++ 应用程序的计算机上下载它?我还没有为数据库部分编写任何代码,但我正在编写一个读取数据的应用程序,我想使用 C++ 将其存储在 mysql 数据库中。

【问题讨论】:

  • SQlite 数据库可能是一个不错的选择。它体积小、速度快且免费——它还有一个不需要安装的巨大优势——只需静态链接它或将 sqlite.dll 文件包含在你的 exe 文件中,你就可以开始使用了——没有什么能阻止它在 USB 棒上运行任何你扔它的电脑。使用 ODBC 路由到您选择使用的任何数据库都非常值得付出努力 - 然后使用存储在不同数据库引擎中的任何一个中的相同数据变得完全微不足道 - 您通常只需要更改连接字符串 - 一些无论如何都要考虑。
  • 我会考虑这一点,因为我似乎必须购买 GPL 许可证,这意味着我还需要开源我的代码以及其他影响(我认为)。
  • 嗯。无论如何,我都不是法律专家,尽管我的印象是 SQLite 已发布到公共领域,因此,您或多或少可以随意使用它。他们网站的以下引用似乎同意:Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. 来源:sqlite.org/copyright.html - 我认为您甚至不必承认它的使用,更不用说共享源代码了。

标签: c++ mysql mysql-connector


【解决方案1】:

是否需要使用 MySql 连接器/C++ 才能访问/更改 mysql 数据库?

您不必连接到官方的 MySQL 连接器。您可以使用ODBC 或其他自定义连接器。

如果我必须下载连接器,我是否还需要将它下载到我想在其上使用 C++ 应用程序的任何计算机上?

这取决于您是静态链接还是动态链接到 MySQL 连接器库。

  • 静态链接是通过链接静态 MySQL 连接器库实现的,通常命名为 libmysqlcppconn-static.a(或 Windows 上的 .lib),并且允许您在未安装 mysql 连接器的环境中运行程序。李>
  • 动态链接是通过链接到动态 MySQL 连接器库来实现的,通常命名为 libmysqlcppconn.so(或在 Windows 上命名为 .dll,在 macOS 上命名为 .dylib),并且需要您的程序在 mysql 连接器所在的环境中运行已安装。

This question 更详细地讨论了静态链接与动态链接的权衡。

This questions 讨论了使用 MySQL 连接器的许可含义。

【讨论】:

  • 我的应用程序需要在我以外的计算机上可用,这就是我问的原因。谢谢。
  • 所以要首先使用 Mysql 连接器,我必须开源我的代码并购买 GPL 许可证,只是为了澄清一下?我对许可及其含义有点陌生。不过,我肯定会看看 ODBC,并且可能会使用它。
猜你喜欢
  • 2022-06-10
  • 1970-01-01
  • 2020-01-24
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
相关资源
最近更新 更多