블로그는 나의 힘!
[ Programing ]/Database2021. 11. 4. 19:23

C++ 에 MySQL을 Connection 해 보자.
mysql은 5.7 까지 Win32 지원한다. 이후 8.0은 64bit 만 지원.
만약 8.0도 32bit를 지원한다면 알려 주시길 ...
 
사용한 MySQL (Visual Studio는 2017)
•Version : mysql-5.7.35-win32
•Download : MySQL Community Server (Archived Versions)
 
 
 

설치한 MySQL Community Server 5.7 (Win32)
 
 

Visual Studio에서 DB를 연결 프로젝트를 마우스 오른쪽을 클릭하여 '속성'에 들어간다.
 
 

'구성 속성 - C/C++ - 일반' 에서 '추가 포함 디렉터리'를 클릭하여 '편집'에 들어간다.
 
 

mysql 폴더에 \include 디렉터리를 등록해 주자.
 
 

추가 라이브러리도 등록하자.
'링커 - 일반 - 추가 라이브러리 디렉터리'에 \lib 디렉터리를 등록한다.
 
 

 

라이브러리는 추가하는 방법이 2가지다.
  -> ‘링커 – 입력 – 추가 종속성‘에서 라이브러리 .lib 추가.
  -> 코드에 Pragma comment로 라이브러리에 .lib 추가.
 
 

C++ MySQl Connection 한다.
'mysql_Init'로 초기화 후 'mysql_real_connect' 접속 한다.
 
 

Execute.
예저는 json을 프로시저 인자에 넘겨 호출 하는 Query 다.
Json 으로 넘기지 못한다. Char로 변환 후 Query에 담아 넘겨야 한다.
Json 그대로 인자 넘길 수 있다면 알려 주시길.
 
 

MySQL에서 호출할 테이블에 Json 타입 컬럼을 미리 만들어 주자.
 
 

호출할 프로시저 본문이다. 호출 시 Insert를 진행한다.
Select로 Json 값이 저장된 걸 볼 수 있다.
 
 
 



추가 참고 : 
┗System∑Sec†ion┛ :: mysql_real_connect() - MySQL 데이터베이스 연결 (tistory.com) 

 

mysql_real_connect() - MySQL 데이터베이스 연결

mysql_real_connect() - Mysql 데이터베이스 엔진으로 연결 시도. 형태 & 인수 MYSQL *mysql_real_connect( MYSQL *mysql,   /* MYSQL 구조의 어드레스 */ const char *host,  /* 호스트 이름 또는 IP 어드레스..

devanix.tistory.com


MySQL과 C/C++ 연동하기 : 네이버 블로그 (naver.com)

 

MySQL과 C/C++ 연동하기

특정 데이터를 저장하기 위해 visual studio에 MySQL을 연동하도록 한다. 1. 먼저, 프로젝트 속성으로 ...

blog.naver.com


C++에서 MySQL DB 연동시키기 (Vis.. : 네이버블로그 (naver.com)
 

 

C++에서 MySQL DB 연동시키기 (Visual Studio 2019)

C++에서 MySql 데이터베이스에 연동시키고 쿼리 요청하는 예제 참고한 사이트는 다음과 같다 (https://m...

blog.naver.com


 

'[ Programing ] > Database' 카테고리의 다른 글

MS-SQL .Bak .Bacpac 백업 차이  (0) 2021.11.24
MySQL Json Type  (0) 2021.11.04
HeidiSQL Tool 리뷰.  (0) 2021.11.04
MS-SQL 복원 .bacpac  (0) 2021.11.01
MS-SQL 백업 .bak 외 .bacpac  (0) 2021.10.28
Posted by Mister_Q
[ Programing ]/Database2021. 11. 4. 18:59

프리웨어 SQL Tool 이다.
MS-SQL을 사용한다면 SSMS를 설치하여 사용하면 되지만, 그외 DB를 사용 한다면 사용하기 좋은 DB Tool 이다.

MySQL을 사용 한다는 전재하에 HeidiSQL 사용법을 간단히 리뷰 한다.
 
 

MySQL을 연결 하기 위해 

Library를 libmysql.dll 로 설정한다.

호스트/IP 와 사용자, 암호, 포트를 입력해 Connection 하자.
 
 

'MySqlDrive' 에서 마우스 오른쪽 클릭 후 '새로 생성 - 데이터베이스'를 생성한다.
 
 

생성 DB를 마우스 오른 쪽 클릭 후 '새로 생성'을 확인 하면 테이블과 프로시저, 함수를 생성할 수 있다.
 
 

테이블 생성 시
'이름'에 테이블 이름을 작성한다.
'추가' 버튼을 눌러 컬럼을 추가한다.
 
 

'인덱스' 탭바를 클릭하면 테이블의 해당 인덱스 조건을 설정할 수 있다.
ID나 Index 컬럼에 PK를 걸고 싶다면 해당 탭을 이용 하자.
 
 

'CREATE 코드' 탭을 클릭하면 테이블 생성 스크립트를 출력한다.
 
 

'ALTER 코드' 탭을 클릭하면 제약 조건 및 인덱스 설정 스크립트를 출력한다.
 
 

프로시저 생성시
'이름'에 SP 이름을 작성한다.
'루틴 본문'에 해당 프로시저 루틴을 작성 한다.
 
 

'매개 변수' 탭에 인자값을 추가 할 수 있다.
'추가' 버튼을 누르면 변수가 추가 된다.
 
 

'CREATE 코드' 탭을 클릭하면 프로시저 생성 스크립트를 출력한다.
 
 

'[ Programing ] > Database' 카테고리의 다른 글

MySQL Json Type  (0) 2021.11.04
C++ MySQL Library 적용하기.  (0) 2021.11.04
MS-SQL 복원 .bacpac  (0) 2021.11.01
MS-SQL 백업 .bak 외 .bacpac  (0) 2021.10.28
프로시저 (Stored Procedure)  (0) 2021.10.22
Posted by Mister_Q
[ Programing ]/Database2021. 11. 1. 16:55

bacpac 백업 링크



'데이터베이스 - 데이터 계층 가져오기' 를 클릭한다.
 

백업한 폴더에 .bacpac 등록 한다.
 

등록할 DB 이름 지정한다.

 

확인 후 마침 클릭한다. 

복원이 시작되고 DB를 확인하자.
복원 시작시 connect 된 서버나 다른 유저가 있다면 모두 kill(강제 종료 링크) 하고 난뒤 진행 하자.
 



참고 사항 :
데이터 셋과 스키마 만 복원이 된다.
이 방식으로 복원 시 DB 권한이나 구조가 완전 동일하게 하나 만들어 두자. 
아니면 권한이 달라서 에러난다는 걸 숙지 하길.
간단히 스키마 스크립트 생성이 필요하다면 여기 링크 클릭.

 
 


'[ Programing ] > Database' 카테고리의 다른 글

C++ MySQL Library 적용하기.  (0) 2021.11.04
HeidiSQL Tool 리뷰.  (0) 2021.11.04
MS-SQL 백업 .bak 외 .bacpac  (0) 2021.10.28
프로시저 (Stored Procedure)  (0) 2021.10.22
ERD Cloud (ER-Win)  (0) 2021.10.21
Posted by Mister_Q