C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74227] Re:MySQL의 JSON 필드 값을 읽어 들이는 방법이 있나요?(자답 입니다.)
김시환 [godson2] 3704 읽음    2017-03-02 11:08
기다려도 답변을 안달리고 애를 끓이며 혼자 죽을 열심히 쑤면서 테스트했습니다.
일단 원인은 모르겠지만 ODBC로는 연결은 되지만 JSON필드를 불러들이면 계속 에러가 발생합니다. 그냥 이건 저의 데이타베이스 지식의 한계로 인식하고 포기...

DBExpress 를 이용하려고 했으나 이것은 MySQL 드라이버가 5.0 버전 까지만 지원이 가능한듯 합니다.
JSON이 적용된 MySQL이 5.7 버젼이라 이것도 포기...

BDE 를 이용해서 불러오면 에러는 발생하지 않는데 JSON필드는 존재하지 않는것처럼 필드가 없다고 나옵니다.
다른 필드들은 정상적으로 불러와 집니다. 이것도 원인은 저의 한계로 인정하고 포기...

결국 MySQL에서 제공되는 C Connection 으로 연결하여 데이타를 불러오니 그제야 JSON 필드의 값을 문자열로
받아올 수 있었습니다. C++ Connection 도 가능할것 같은데 이건 귀차니즘으로 포기...

C Connection 을 사용하는 방법은 MySQL 사이트에 잘 소개되어 있습니다. 일반적인 필드와 동일하게 불러오면 됩니다.


김시환 님이 쓰신 글 :
: 지난주에 장비 납품업체에서 업체의 Database 에 연결하던 중 DB가 변경된 사실을 접하게 되었습니다.
: 기존에는 MSSQL 서버에 ODBC를 통해 연결하여 측정조건 항목들을 불러와서 사용하였는데 이것이 갑자기 MySQL을 사용하는 것으로 변경이 되었습니다. SQL 서버가 변경된 것까지는 문제가 없었는데 진짜 문제는 변경된 DB 시스템에 뜬금없이 JSON 이 적용된 것이었습니다.
:
: 장비 제어위주로 프로그램하다보니 JSON 이라는 기술에 대해 잘 이해도 못하는 상황이라 급 당황모드로 전환되고 결국 장비 셋업을 마무리 못하고 말았습니다.
:
: 일단 JSON 은 다행히 라이브러리가 있는것 같아 파싱하면 될듯 한데
:
: 문제는 Database 에서 해당 측정 조건이 들어있는 필드의 내용을 불러 들이지 못하는 문제에 직면해 있습니다.
:
: MySQL과의 연결은 ODBC 컨넥션을 이용하였고 DBExpress 나 ADO 컴포넌트를 이용하여도 JSON 필드가 있는 테이블을 읽어들이면 계속 에러가 발생하고 데이타를 불러 들이지 못하고 있습니다.
:
: 다행이 BDE의 TDatabase 와 TQuery를 사용하여 읽어더니 에러는 발생하지 않고 읽어 들이기는 하는데 역시 JSON 데이타가 들어이는 필드는 아예 없는것으로 인식하고 불러 들이지 못하고 나머지 필드만 불러 들이고 있습니다.
:
: 제가 DB에 대해 전문지식이 없다보니 도움을 청하게 되었습니다.
: 빌더 XE4 버젼을 사용하고 있습니다.
:
: 도움을 부탁드립니다.

+ -

관련 글 리스트
74186 MySQL의 JSON 필드 값을 읽어 들이는 방법이 있나요? 김시환 3461 2017/02/19
74227     Re:MySQL의 JSON 필드 값을 읽어 들이는 방법이 있나요?(자답 입니다.) 김시환 3704 2017/03/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.