问题标签 [mysql++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3958 浏览

c++ - 如何使用 MySQL++ 设置 mysql_ping 超时

我希望 mysql_ping 在几秒钟内超时。在下面的测试用例中,如果在“ifconfig eth0 down”之后建立了连接,则永远不会到达 conn.ping() 的错误端。线程/进程进入看似无休止的等待。我想更改它并使其超时更快,最好使用 MySQL++ 选项。知道可能是哪个选项吗?

也许我还需要设置它会重试多少次?

阅读 MySQL 的文档,它告诉我们 mysql_ping 将尝试自动重新连接。这很好,但最终我也希望它超时。

http://dev.mysql.com/doc/refman/5.1/en/mysql-options.html http://dev.mysql.com/doc/refman/5.1/en/mysql-ping.html

由于它会自动重新连接,因此 MYSQL_OPT_CONNECT_TIMEOUT 似乎是要走的路。但是在下面的测试用例中设置 mysqlpp::ConnectTimeoutOption(1) 没有帮助。

似乎 MySQL++ ping() 只是 C API 的一个包装器,我从“/usr/include/mysql++/dbdriver.h”收集了这个,它将 ping() 定义为:

bool ping() { 返回 !mysql_ping(&mysql_); }

我正在使用的库版本是:

  • libmysql++-dev: 3.0.9-1+b1
  • libmysql++3: 3.0.9-1+b1
  • mysql-client-5.1:5.1.49-3
  • 0 投票
    1 回答
    1716 浏览

    c++ - 如何重用 MySQL++ 查询对象来调用多个存储过程?

    我想使用mysql ++查询多次执行过程“CreateTable”,最后我重置了查询,但无论如何,只有第一个查询有效,最后一个无效,我的问题是:如何进行所有查询工作?

    以上,是程序。

    0 投票
    1 回答
    1283 浏览

    visual-c++ - mysql++ 链接问题

    我有问题,我使用 mysql++ 3.1.0:在为 vc2008 以调试和发布模式构建 mysql++.sln 后,使用 instal.hta 然后将 vc++ 目录中的 dirrectoires 添加到 lib 和包含文件夹,并添加项目属性-> 链接器- > General Additional Library Directories 目录到 lib 文件夹,其中有 mysqlpp.dll、mydqlpp.lib、mysqlpp_d.dll、mydqlpp_d.lib。这些代码:

    得到这些错误:

    在 Visual Studio 2008 中。我该如何解决这个问题?

    0 投票
    3 回答
    2017 浏览

    c - mysql 和 c -- 在查询中使用变量

    我正在编写带有 mysql 数据库连接的 ac 程序,但在创建我的 mysql 查询时遇到了困难......

    我想在我的 mysql 查询中给你一个变量整数,但我似乎无法正确...

    我当前的查询看起来像这样......

    我的 marker_ID 值应该是一个变量值,所以我可以减少我的代码......

    我已经使用本指南让我继续前进...... (http://zetcode.com/tutorials/mysqlcapitutorial)

    谢谢你的帮助

    0 投票
    2 回答
    2296 浏览

    c++ - mysqlpp 连接方法超时 - 我该如何控制它?

    我试图控制连接方法超时,但我没有找到合适的平均值。

    为了清楚起见,我不是在谈论空闲连接超时(ConnectTimeoutOption)。

    我需要处理的场景是数据库消失了,我的服务器必须处理它。我目前的处理是我正在 ping 服务器,如果我发现 ping 失败,我将暂停查询 100 秒。之后,我试图重新建立连接。问题是,如果数据库仍然死机,那么 connect 方法大约需要 20 秒才能回答(可以通过拉网线来模拟),这对我来说太过分了。

    0 投票
    2 回答
    1430 浏览

    c++ - mysql++ 查询失败

    我是 mysql++ 的新用户,正在寻找一些指针(双关语)。

    问题:我的更新语句失败。

    连接已打开。上一个使用连接的语句有效。

    我确定我要更新的记录存在。我可以用 mysql 查询工具看到它。我确定 CustomerId 是正确的。

    为什么这个更新失败?

    如果我关闭连接的异常,它会静默失败(result.info() 方法不返回任何内容)。

    如果我在尝试转换为字符串时打开它的异常段错误:

    0 投票
    2 回答
    2718 浏览

    c++ - 为什么简单的 mysql++ 代码可以独立编译,但不能在项目中编译?

    首先,小程序:

    如果我将它编译为 CodeLite 中的一个文件或以这种方式:

    没关系,但是当我尝试用这个文件构建整个项目时,我得到了这个:

    这是 CodeLite g++ 编译器设置:

    0 投票
    1 回答
    1023 浏览

    mysql++ - mysqlpp查询未从执行返回

    我有一个相当简单的调用,我正在尝试对数据库进行调用。我将所有内容都包含在 try/catch 和 if 语句中,但是……什么都没有。我知道我正在建立连接(每次尝试运行脚本时 MySQL 中的连接引用计数都会增加),但它似乎永远不会返回。代码是:

    我得到:

    作为我唯一的输出。我在那里进行了更多调试(查询正确组合,连接正确等)。任何人都知道可能会发生什么,或者我接下来应该检查什么?

    谢谢!

    -- 编辑:如果我直接从 MySQL 运行调用,一切都按预期工作,所以这不会导致问题。

    0 投票
    1 回答
    680 浏览

    c++ - MySQL++ - 运行时检查失败 #2 - 变量周围的堆栈已损坏

    我遇到了 MySQL++ 的问题,迫切需要帮助。我正在使用 Visual Studio 2010、MySQL++ v3.1.0 和 MySQL v5.1.59(x86 & x64);所有库都已正确编译。由于编译器设置“Both (/RTC1, equiv. to /RTCsu) (/RTC1)”处于打开状态,此错误仅发生在 Debug 版本中。

    编辑:我应该注意,这只发生在调试版本中。在 Release 中,它就像一个魅力我已经将问题追溯到 mysqlpp_d.dll,由于引用计数,MySQL++ 对象在析构函数上崩溃。它抱怨无法访问 ref 计数器的内存,当它试图减少它时,它崩溃了。至少那是我认为发生的事情。

    我尝试这样做以确保所有内容都以正确的顺序被取消引用和删除(即使它无关紧要,但我希望帮助我找到真正的问题): http: //pastebin.com/Ru0uYcy9

    它崩溃了:

    Launcher.exe 中 0x000007feeef5dd4c (mysqlpp_d.dll) 的第一次机会异常:0xC0000005:访问冲突写入位置 0x000007feeeff5148。Launcher.exe 中 0x000007feeef5dd4c (mysqlpp_d.dll) 处未处理的异常:0xC0000005:访问冲突写入位置 0x000007feeeff5148。

    在这里休息:http: //pastebin.com/9Mfr7NwB

    0 投票
    1 回答
    593 浏览

    c++ - Linux 上的 MySQL++ SSL 支持

    我试图让 MySQL++ 在支持 SSL 的 Debian 6 上正常工作。我已经在 Windows 7 上测试了所有东西,效果很好。一切都是加密的。不过,我在将它移植到 Debian 时遇到了一些麻烦。

    这是我的错误:

    terminate called after throwing an instance of 'mysqlpp::BadOption' what(): Option not supported by database driver v5.1.49

    这是我设置证书文件的要求:

    connection->set_option(new mysqlpp::SslOption("/root/certs/client-key.pem", "/root/certs/client-cert.pem", "/root/certs/ca-cert.pem", "/root/certs", "DHE-RSA-AES256-SHA"));

    我注意到在配置 MySQL++ 时,它会在 libmysqlclient 中查找 mysql_ssl_set()。它没有找到该功能。

    checking for mysql_ssl_set in -l... no