c 코드에 include 추가하여 연동
#include "mysql.h" //<>로 해도 되고 "mysql.h"로 해도 되더군요.
main() {
MYSQL *conn; //mysql과의 커넥션을 잡는데 지속적으로 사용되는 변수에요.
MYSQL_RES *res; //쿼리문에 대한 result값을 받는 위치변수에요.
MYSQL_ROW row; //쿼리문에 대한 실제 데이터값이 들어있는 변수에요.
char *server = "localhost"; //서버의 경로인데요 localhost로 하면 자기 컴퓨터란 의미랍니다.
char *user = "root"; //mysql로그인 아이디인데요. 기본적으로 별다른 설정이 없으면 root에요
char *password = "패스워드를 넣어주세요"; /* set me first */ //password를 넣는부분이에요
char *database = "데이터베이스 이름을넣어주세요"; //Database 이름을 넣어주는 부분이에요.
conn = mysql_init(NULL); //connection 변수를 초기화 시켜요.
/* Connect to database *///DB없이 MYSQL만 접속시킬꺼에요
if (!mysql_real_connect(conn, server, //mysql_real_connect()함수가 연결을 시켜주는 함수에요
user, password, NULL, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn); //접속한 결과값은 res에 넣는건데요. 딱히 지금은 안해도 상관없어요.
mysql_query(conn, "create database 데이터베이스이름 DEFAULT CHARACTER SET euckr DEFAULT COLLATE euckr_korean_ci;");
//mysql_query()는 제 두번째 글 step by step으로 따라했던 부분에 보시면 mysql에서 직접 입력했던 부분을 그대로
//옮겨온 것을 볼 수 있는데요. 즉 이 값을 C에서 직접 mysql로 쳐준다고 생각하시면 되요.
/* Connect to database *///MYSQL에 생성된 DB에 접속
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
}
설정 수정하여 연동
- 아래 링크에서 Boost를 다운받고 install한다.
- https://www.boost.org/doc/libs/1_72_0/more/getting_started/windows.html
- 고급설정에 들어가서 환경변수를 수정해준다.
- visual studio 2019 설정 변경
- c/c++ →일반→ 추가 포함 디렉터리에 boost와 mysql을 추가해준다.
- 링커→일반→추가 라이브러리 디렉터리에서 마찬가지로 boost와 mysql을 추가해준다.
- 링커→입력→추가종속성에서 mysqlcppconn.lib를 추가해준다.
- 아래 4개의 파일을 c 프로젝트 파일에 복사한다.
- 다음 코드를 실행시킨다.
```c
#include <stdlib.h>
#include <iostream>
#include <jdbc/cppconn/driver.h>
#include <jdbc/cppconn/exception.h>
#include <jdbc/cppconn/resultset.h>
#include <jdbc/cppconn/statement.h>
using namespace std;
int main(void)
{
sql::Driver* driver;
sql::Connection* con;
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "your_id", "your_password");
con->setSchema("sampledatabase");
delete con;
cout << endl;
return EXIT_SUCCESS;
}
```
- 이또한 연동이 되지 않아 다른 방법을 시도해 보았다.
참조 추가하여 연동
결론
참조 블로그