본문 바로가기

C#(ASP.NET)

들어오는 TDS(Tabular Data Stream)의 RPC(원격 프로시저 호출) 프로토콜 스트림이 잘못되었습니다

에러메세지 :

 

System.Data.SqlClient.SqlException (0x80131904): 들어오는 TDS(Tabular Data Stream)의 RPC(원격 프로시저 호출) 프로토콜 스트림이 잘못되었습니다. 매개 변수 4("@N_MEMO"): 데이터 형식 0xA7의 데이터 길이 또는 메타데이터 길이가 잘못되었습니다.

 

이럴경우 대부분 파라미터의 크기를 명확하게 지정해 주지 않아서 발생하는 에러이다.

SqlParameter(parameterName, sqlDbType);

 

특히 varchar 형식인데 크기가 MAX로 잡힐 경우 4000Byte가 넘어가면서 발생하는 경우가 많다.

 

이렇게 되어 있는 코드를 아래와 같이 수정한다.
SqlParameter(parameterName, sqlDbType, size);

 

파라미터의 형타입이 varchar(MAX)일 경우 size는 -1을 주면 된다.

 

크리에이티브 커먼즈 라이선스
Creative Commons License