[英]How to connect a MySQL database to C++ on Ubuntu?
我正在嘗試用 C++ 制作一個數據庫管理系統,但是我已經努力了好幾個小時才能將 MySQL 連接到我的程序。
我是 C++ 的新手,但我有 Java 方面的經驗,連接 MySQL 從來沒有這么痛苦過。
我已經嘗試了以下代碼的十幾種變體,但我仍然沒有成功。
如何將 MySQL 數據庫連接到 Linux 的 C++?
我現在的代碼是這樣的:
#include <iostream>
#include <stdlib.h>
#include <string>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <mysql_driver.h>
using namespace std;
int main() {
sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
sql::ConnectOptionsMap connection_properties;
/* Create a connection */
driver = sql::mysql::MySQL_Driver::get_mysql_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "rootpass");
/* Connect to the MySQL test database */
con->setSchema("test");
delete con;
return 0;
}
這些是我收到的錯誤:
錯誤:'get_mysql_driver_instance' 不是 'sql::mysql::MySQL_Driver' 驅動程序的成員 = sql::mysql::MySQL_Driver::get_mysql_driver_instance();
CMakeFiles/SuperStorage.dir/build.make:62: 目標 'CMakeFiles/SuperStorage.dir/main.cpp.o' 的配方失敗 make[3]: * [CMakeFiles/SuperStorage.dir/main.cpp.o] 錯誤 1 CMakeFiles/Makefile2:67:目標“CMakeFiles/SuperStorage.dir/all”的配方失敗 make[2]: [CMakeFiles/SuperStorage.dir/all] 錯誤 2 CMakeFiles/Makefile2:79:目標“CMakeFiles/SuperStorage.dir/rule”的配方失敗 make[1]: [CMakeFiles/SuperStorage.dir/rule] 錯誤 2 Makefile:118: 目標 'SuperStorage' 的配方失敗 make: * [SuperStorage] 錯誤 2
這是錯誤的:
driver = sql::mysql::MySQL_Driver::get_mysql_driver_instance();
它應該是:
driver = sql::mysql::get_mysql_driver_instance();
這在用於連接數據庫的舊 MySQL C++ 連接器教程頁面中清楚地顯示(盡管 8.0 文檔似乎已刪除所有使用示例😢)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.