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.. )으로 테스트 해보시면 도움이 될 거 같습니다.
답변 감사합니다.
답변 감사합니다^^
댓글 달기