所以这几天我一直在尝试建立与 MySQL 数据库的基本连接,并且我已经尝试了所有似乎可以让 MySQL Connector/C++ 工作的方法。这是到目前为止我的代码:
#include <iostream>
#include <mysql_driver.h>
int main(){
sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
driver = sql::mysql::get_mysql_driver_instance();
con = driver->connect("http://localhost/", "root", "");
delete con;
return 0;
}
我正在使用 MSVS2010、MySQL Connector/C++ 1.1.6、Boost 1.5.9 我有正确的包含文件和库以及为连接器设置的链接器。我还包含了 boost 1.5.9。
当我编译并执行时,每次都会遇到相同的错误:
Unhandled exception at 0x75d9c42d in MySQL Test.exe: Microsoft C++
exception: sql::SQLException at memory location 0x0041f140..
这是调用堆栈:
> MySQL Test.exe!__tmainCRTStartup() Line 555 + 0x17 bytes
这是相关代码:
550 #ifdef WPRFLAG
551 __winitenv = envp;
552 mainret = wmain(argc, argv, envp);
553 #else /* WPRFLAG */
554 __initenv = envp;
555 mainret = main(argc, argv, envp);
556 #endif /* WPRFLAG */
我已尝试重新安装 MySQL 服务器及其组件,以及连接器本身,并且我在与发行版相同的目录中拥有正确的 .dll。
我正在尝试连接到 WAMP 服务器,但我认为这与该错误没有特别相关。
我还尝试了不同版本的 MSVS,包括 2008 和 2013。我不知道问题是什么,而且网上似乎没有任何解决此问题的方法。
我想尝试使用 CMake 自己从源代码构建 MySQL Connector/C++,但是我不知道从哪里开始,而且我不想花更多时间漫无目的地走向错误的方向。
任何帮助将不胜感激,因为我花了很多时间试图解决这个问题。
最佳答案
最后我设法让它工作,但不是使用 MySQL Connector/C++,我不得不使用 MySQL Connector/C,它第一次工作,没有任何问题。
关于c++ - 无法使 MySQL 连接器/C++ 工作 - 未处理的异常 (sql::SQLException) Visual Studio 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33042216/