Pro*C 에서 FETCH시 포인터변수는 못받나요..?
글쓴이: kakazaru / 작성시간: 목, 2016/06/09 - 3:24오후
EXEC SQL BEGIN DECLARE SECTION; char *pDATA; EXEC SQL END DECLARE SECTION; pDATA = (char*)malloc(3520); memset(pDATA, 0x00, 3520); EXEC SQL DECLARE TEST_Cursor CURSOR FOR SELECT DATA FROM TEST_TABLE WHERE ID_KEY = :KEY; EXEC SQL OPEN TEST_Cursor; EXEC SQL FETCH TEST_Cursor INTO :pDATA; EXEC SQL CLOSE TEST_Cursor;
식으로 DATA필드(CLOB)의 값을 얻어오고싶은데
배열로는 얻어와 지고
포인터를 쓰면 데이터가 안들어오는것 같아서요..
혹시 다른 방법이 있을까요 ?
Forums:
호스트 변수는 scalar type 만 허용 됩니다.
http://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_04dat.htm#i27299
호스트 변수 항목 보시면 스칼라 타입만 가능하다고 나오네요
답글을 쓰고 나니... 포인터 변수도 된다고 하네요 ;;
http://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_04dat.htm#i9172
SQLCODE가 정상이라면 다른 문제일 거 같네요
기초 type (int, long.. )으로 테스트 해보시면 도움이 될 거 같습니다.
답변 감사합니다.
답변 감사합니다^^
댓글 달기