다음을 통해 공유

네트워크 패킷 크기(4096) 이상인 크기의 이미지를 insert/update 시 오류

heidi 0 평판 포인트
2024-11-25T01:08:35.8433333+00:00

질문: MSSQL ODBC API를 사용 중입니다. varbinary(max) 타입인 칼럼에 이미지를 insert/update하려고 시도했습니다. 네트워크 패킷 크기(4096) 이상으로 설정되어있고, 이미지 크기는 55000입니다. 그래서 네트워크 패킷 크기만큼 잘라서 보내고자 했습니다.

ODBC API 문서에 따라서 SQLBindParamater에 SQL_LEN_DATA_AT_EXEC(55000)을 길이로 보내고, SQLExecute 이후에 SQLParamData와 SQLPutdata로 4096을 보내길 반복하면서 총 55000울 보내려고 했습니다. 그러나 처음 4096을 보낸 후에 SQLParamData가 SQL_NEED_DATA가 뜨지 않아서 SQLPutData가 한번만 실행되기 때문에, 4096 크기 이상의 이미지를 보낼 수가 없습니다. 또한 함수 시퀀스 오류라는 메세지가 함께 뜹니다. 드라이버를 바꿔서 시도해봐도 같은 오류가 뜹니다.

드라이버의 문제인가요? 아니면 API를 사용하는 방식이 따로 있나요? 답변 부탁드립니다. 감사합니다.

사용한 드라이버:

ODBC Driver 17 for SQL Server

SQL Server

SQL Server Native Client 11.0

Community Center | Q&A 사이트에 대해 이야기 하기 | Q&A 시작하기
댓글 0개 설명 없음

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.