簡體   English   中英

如何在 Ubuntu 上將 MySQL 數據庫連接到 C++?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM