본문 바로가기

SQL

[MSSQL] OPENQUERY 예기치 않은 데이터 길이를 반환했습니다.

OLE DB 오류 추적 [Non-interface error:  Unexpected data length returned for the column:  ProviderName='OraOLEDB.Oracle', TableName='[OraOLEDB.Oracle]', ColumnName=''HAMTOL'', ExpectedLength='64', ReturnedLength='12'].


메시지 7347, 수준 16, 상태 1, 줄 1


OLE DB 공급자 'OraOLEDB.Oracle'이(가) 고정 길이 열 '[OraOLEDB.Oracle].'HAMTOL''에 대해 예기치 않은 데이터 길이를 반환했습니다. 예상 데이터 길이는 64인데 반환된 데이터 길이는 12입니다.


입력을 위해 HAMTOL 이라는 데이터로 SELECT 구문을 만들었는데 위와 같이 오류로 구문이 실행이 안됩니다.


정확한 이유를 아직 파악을 못했는데 해결하는 방법은 SUBSTR 구문을 넣어서 작성해주면 문제 해결이 가능합니다.


오류구문

SELECT * FROM OPENQUERY (TEST, 'SELECT ''HAMTOL'' FROM TABLE_NAME ')

수정구문

SELECT * FROM OPENQUERY(TEST, 'SELECT SUBSTR(''HAMTOL'',1,6) FROM TABLE_NAME ')