我正在尝试使用 C++ 连接到 MySQL,我正在使用 MySQL Connector/C++ 8.0 和 XDevAPI 来执行此操作。我写一个demo:
#include <mysqlx/xdevapi.h>
#include <iostream>
using ::std::cout;
using ::std::endl;
using namespace ::mysqlx;
int main(int argc, const char* argv[]) {
try {
Session sess("localhost", 33060, "test");
cout << "Session accepted!" << endl;
auto result = sess.sql("CREATE DATABASE test_db").execute();
sess.sql("USE test_db").execute();
sess.sql(
"CREATE TABLE booklist (name VARCHAR(10), ISBN VARCHAR(20))"
).execute();
sess.sql("SHOW tables").execute();
sess.sql(
"INSERT INTO test_db VALUES ('booka', '9783161484100')"
).execute();
auto result = sess.sql(
"SELECT ISBN FROM booklist WHERE name='booka'"
).execute().fetchOne();
cout << result << endl;
} catch (...) {
throw "Invalid user!";
}
}
并用
编译它clang++ -stdlib=libc++ -std=c++11 -I /usr/local/mysql-connector-c++-8.0.32/include -L /usr/local/mysql-connector-c++-8.0.32/lib64 test.cc -lmysqlcppconn8 -o test
并运行它。然后异常来了:
Session accepted!
libc++abi: terminating with uncaught exception of type char const*
zsh: abort ./test
有人知道原因吗?谢谢!
异常的解决原因