이 질문은 정말 쉽지만 C++과 MySQL의 멍청한 사람입니다. 그래서 여전히 작동하지 않습니다. 여기 MySQL을 MySQL에 삽입하는 방법은 무엇입니까?
는 거래이다 : 내가 문자열 (_bstr_t)가 XML을 포함하고 내가 MySQL의에서 longblolb 컬럼에 저장하고자합니다. 이 서버 및 localY하지만 일,이
- 로컬 파일 및 사용 MySQL의 명령 LOAD_FILE 내 XML을 작성하고,으로이 방법을 사용하는 것이 안전하지 않습니다 :
방법은 내가 실패 시도 서버
- 사용는 mysql_real_escape_string() 나는 갈 방법 IST 생각하지만,이 기능은 문자의 *를 취하고 그
이 MySQL의 또는에서 XML을 저장하는 다른 방법이 있습니까 작동하지 않습니다 그래서 멀티 바이트 문자열을 거기에있다. multibyte를위한 mysql_real_escape와 같은 함수.
는 "액세스 위반 읽기 위치 ..."나는 캐스팅을 시도 때 좋은 보이지만 마침내 나는 MySQL의 오류가 있었다 나를 주시는 strcpy를 나던 작업 다음에 대한
"Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?xml version=\"1.0\" encoding=\"UTF-16\"?>\r\n XV_Object noNamespaceSchem' at line 1"
그리고 마침내를, 당신이 나에게 준 첫 번째 해결책은, 나는 C++을 처음 접했고, char *를 넣을 곳을 모른다. 나는 컴파일 할 수 없다.
char *to = new char[xml.length() * 2 + 1];
char* from = (char*)xml::char*;
mysql_real_escape_string(conn,to,from,xml.length());
감사합니다.
(part1) 안녕하세요, Robin, 빠른 답변 주셔서 대단히 감사합니다. strcpy do not't work는 "Access violation reading location ..."을 제공합니다. 캐스트를 시도했을 때 잘 보이지만 마지막으로 MySql 오류가 발생했습니다 : "오류 : SQL 구문에 오류가 있습니다. " xml version = \"1.0 \ "encoding = \"UTF-16 \ "?> \ r \ n 근처에서 사용할 올바른 구문에 대한 MySQL 서버 버전에 해당하는 매뉴얼" 마지막으로, 당신이 나에게 준 첫 번째 해결책은 C++을 처음 접했을 때 나는 숯불을 넣을 곳을 모른다. 컴파일 할 수 없다. –
Nick
(part2) 캐스트의 경우이 작업을 수행했지만 컴파일되지 않습니다. char * to = new char [xml.length() * 2 + 1]; char * from = (char *) xml :: char *; mysql_real_escape_string (conn, to, from, xml.length()); 도움을 주셔서 감사합니다. – Nick
안녕하세요, Robin, 정말 고마워요, 이제 작동합니다! 시간 내 주셔서 대단히 감사 드리며 앞으로의 게시물에 대한 자세한 내용을 알려 드리겠습니다. 좋은 하루 보내십시오. – Nick