Visual Studio에서 해당 설정을 진행해주자.
mysql-connector-c++-8.2.0-winx64을 C:\Program Files\MySQL\mysql-connector-c++-8.2.0-winx64 경로에 설치했다고 가정합니다.
1. 상단에 프로젝트(Project) > 프로퍼티(Property)에 들어간다. C/C++ > General에서 Additional Include Directories에 C:\Program Files\MySQL\mysql-connector-c++-8.2.0-winx64\include\jdbc 를 입력해준다.
2. Preprocessor > Preprocessor Definitions 에 STATIC_CONCPP; 를 추가해준다. 정적으로 링킹해주는 것.
3./MD 사용해주자
4. C:\Program Files\MySQL\mysql-connector-c++-8.2.0-winx64\lib64\vs14 를 링크해준다.
5. mysqlcppconn-static.lib를 추가해준다.
6. 아래 테스트 코드를 작성한다.
#include <stdlib.h>
#include <iostream>
#include "stdafx.h"
#include "mysql_connection.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/prepared_statement.h>
using namespace std;
//for demonstration only. never save your password in the code!
const string server = "tcp://yourservername.mysql.database.azure.com:3306";
const string username = "username@servername";
const string password = "yourpassword";
int main()
{
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
sql::PreparedStatement *pstmt;
try
{
driver = get_driver_instance();
con = driver->connect(server, username, password);
}
catch (sql::SQLException e)
{
cout << "Could not connect to server. Error message: " << e.what() << endl;
system("pause");
exit(1);
}
//please create database "quickstartdb" ahead of time
con->setSchema("quickstartdb");
stmt = con->createStatement();
stmt->execute("DROP TABLE IF EXISTS inventory");
cout << "Finished dropping table (if existed)" << endl;
stmt->execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);");
cout << "Finished creating table" << endl;
delete stmt;
pstmt = con->prepareStatement("INSERT INTO inventory(name, quantity) VALUES(?,?)");
pstmt->setString(1, "banana");
pstmt->setInt(2, 150);
pstmt->execute();
cout << "One row inserted." << endl;
pstmt->setString(1, "orange");
pstmt->setInt(2, 154);
pstmt->execute();
cout << "One row inserted." << endl;
pstmt->setString(1, "apple");
pstmt->setInt(2, 100);
pstmt->execute();
cout << "One row inserted." << endl;
delete pstmt;
delete con;
system("pause");
return 0;
}
실행해보면 정상적으로 아래표처럼 나온다.
'Unreal > C++ 서버' 카테고리의 다른 글
CMD에서 MYSQL DB 명령어 (0) | 2024.03.31 |
---|---|
Debug 모드, Release 모드 특징 (0) | 2024.03.24 |
MYSQL 설치 후 진행과정 (0) | 2024.03.17 |
Mongocxx Driver 설치 (0) | 2024.03.16 |
mongocxx(v3) 드라이버 제거 방법 (0) | 2024.03.09 |