버그 해결을 위한 모든 질문을 던져
0 votes
172 views
odbc 기초적인 함수 테스트 중에 잘 안되는 것이 있어 질문드립니다.

 

드라이버는 unicode 32비트를 사용중이며, mysql 버전은 8.0 입니다.

 

간단한 Insert 하는 프로시저를 만들어두고, CALL 하는 상황입니다.

여러번 Insert 할 것이기 때문에 쿼리를 미리 Prepare 해두고, Bind 한다음에 Execute 했습니다.

 

SQLBindParameter 를 사용하여 인자 전달까지는 문제가 없습니다.

 

이후에 SQLExecute 를 사용하여 쿼리를 수행하는 부분에서 Return 값이 99 인 SQL_NEED_DATA 가 나옵니다.

 

이 상황이 궁금하여 검색해봤는데요.

데이터의 크기가 클때 한번에 Execute 가 안되어서 SQLParamData, SQLPutData 를 이용하여 쿼리가 마무리될때까지 계속 데이터를 밀어넣어줘야하는 상황이였습니다.

 

하지만 저의 경우는 단순히 short 타입 에 해당하는 column 을 insert 하는 상황이라 2바이트에 불과한데 저 상황이 왜 발생되는지 궁금합니다.

 

 

p.s 코드를 요청시에는 별도 첨부하겠습니다.
asked (3 point) , 172 views

1 답변

0 votes
sql 문 사이에 ;(세미콜론)이 없는거 아닐까요.
answered (8 point)
아닙니다 ㅠㅠ...

쿼리문에는 이상이 없었습니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

270 질문
403 answers
407 댓글
563 users