2010-11-19 3 views
1

팩토리를 사용하여 준비된 문을 작성한 다음 나중에 실행하는 기존 응용 프로그램을 업데이트하는 중이며 나머지 시스템에서는 작동합니다. 하지만 NText를 사용하는 명령문에 대한 호출을 추가하는 임무가 주어졌으며 명령문을 올바르게 준비하는 방법을 알 수 없습니다. "SqlCommand.Prepare 메서드는 모든 가변 길이 매개 변수에 0이 아닌 크기를 명시 적으로 설정해야합니다."라는 런타임 오류가 발생합니다. 당신이 매개 변수를 @file하기에 전달하는 데이터의 길이에NText (clob) 매개 변수가 포함 된 ADO.NET 문을 준비하는 방법

SqlCommand update = new SqlCommand("UPDATE Log.Response_File_Log " + 
    "SET File = @File " + 
    ", DateFileReceived = GETDATE() " + 
    "WHERE RunID = @RunID", _connection); 
update.Parameters.Add(new SqlParameter("@File", SqlDbType.NText)); 
update.Parameters.Add(new SqlParameter("@RunID", SqlDbType.Int)); 
update.Prepare(); 

답변

2

NTEXT을 사용하지 마십시오. deprecated type입니다. 데이터베이스에 NTEXT 열이있는 경우 VARBINARY(MAX)으로 변경하십시오. MAX 유형 매개 변수 길이가 -1 인 경우 (...,SqlDbType.Varbinary, -1)을 사용하십시오.

0

당신이 그것을 설정할 수 :하지만 난 길이

필수 코드 예제를 사용하려면 어떤 값을 모르겠어요? 이것은 단지 제안 일뿐입니다.

관련 문제