목차
- 리눅스 우분투 C 개발환경 Codelite 설치 예제 이전 포스팅 참고 학습
- 리눅스 우분투 MariaDB 서버 설치 및 데이터베이스 생성 예제 이전 포스팅 참고 학습
- 리눅스 우분투 MariaDB 라이브러리 설치 및 헤더, 라이브러리 경로 확인 예제 이전 포스팅 참고 학습
- C 언어 Codelite MariaDB 헤더 및 라이브러리 경로 및 설정 예제
- C 언어 MariaDB 데이터베이스 연결 및 예외처리 예제
리눅스 우분투 C 개발환경 Codelite 설치 예제 이전 포스팅 참고 학습
이전 포스팅에서는 리눅스 우분투 환경에서 C/C++ 개발을 위한 CodeLite 개발 환경을 설치하는 방법에 대해 알아보았습니다. CodeLite는 C/C++ 프로그래밍을 위한 무료 통합 개발 환경(IDE)입니다. Openssl, MariaDB 연결 등의 예제를 실행해보기 위해서는 이 Codelite를 설치해야합니다. 아직 리눅스 우분투 환경에서 Codelite 설치 방법에 대해 잘 모르신다면 아래 링크를 확인해주세요.
2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite)
리눅스 우분투 MariaDB 서버 설치 및 데이터베이스 생성 예제 이전 포스팅 참고 학습
또한 리눅스 우분투에서 MariaDB 서버를 설치하고 데이터베이스를 생성하는 예제를 이전 포스팅에서 알아보았습니다. MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 설치 및 데이터베이스 생성 과정은 이전 포스팅을 참고하여 학습하실 수 있습니다. 오늘 진행할 예제도 MariaDB 서버에 연결하는 예제이기때문에 아직 MariaDB 서버를 구성하지 않았다면 아래 링크를 참고하여 구성해주세요.
2023.08.29 - [Linux/OS] - [Linux/Ubuntu] 리눅스 우분투 MariaDB 서버 설치, 데이터베이스 생성 및 계정 생성 예제(ubuntu 20.04)
리눅스 우분투 MariaDB 라이브러리 설치 및 헤더, 라이브러리 경로 확인 예제 이전 포스팅 참고 학습
마지막으로 리눅스 우분투에서 MariaDB의 라이브러리를 설치하고, 헤더 파일 및 라이브러리의 경로를 확인하는 예제를 확인해주세요. 오늘 예제는 Codelite 개발도구로 MariaDB 서버에 C언어를 통해 연결하는 예제입니다. 따라서 반드시 MariaDB 관련 라이브러리가 설치되어있어야 합니다. 아직 모르신다면 아래 링크를 보고 학습해주세요.
2023.09.06 - [Linux/Shell Script] - [Linux/C] 우분투 MariaDB connector 설치(라이브러리 설치)
C 언어 Codelite MariaDB 헤더 및 라이브러리 경로 및 설정 예제
아래는 C 코드에서 CodeLite와 MariaDB 라이브러리를 사용하여 데이터베이스에 연결하기 위해 현재 프로젝트에 헤더 파일 참조 경로를 설정하고 MariaDB 라이브러리 경로를 설정하는 예제입니다.
우선 이전 포스팅에서 실행했던 "mysql_config --cflags", "mysql_config --libs" 명령을 사용하여 헤더파일과 라이브러리 경로를 찾아냅니다.
$ mysql_config --cflags
$ mysql_config --libs
이후 Codelite 프로젝트 설정에서 MariaDB 헤더와 Mysql 헤더 경로를 입력하고 라이브러리 경로와 라이브러리명을 입력합니다.
C 언어 MariaDB 데이터베이스 연결 및 예외처리 예제
아래는 C 언어를 사용하여 MariaDB 데이터베이스에 연결하고, 연결 과정에서 발생할 수 있는 예외를 처리하는 예제입니다.
#include <stdio.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
conn = mysql_init(NULL);
if (conn == NULL) {
fprintf(stderr, "mysql_init() failed\n");
return 1;
}
if (mysql_real_connect(conn, "localhost", "root", "test1234", "test", 0, NULL, 0) == NULL) {
fprintf(stderr, "mysql_real_connect() failed\n");
mysql_close(conn);
return 1;
}
// 연결 성공 시 원하는 작업 수행
printf("데이터 베이스 연결 성공\n");
mysql_close(conn);
return 0;
}