2010-01-11 4 views
1

길이가 4000자를 넘는 큰 유니 코드 문자열을 보유하는 ntext 열이 있습니다. 업데이트/SQL에서 열의 행 데이터를 수정해야하지만 나는 그렇게하는 방법을 전혀 모른다. 버퍼로 nvarchar (max) 시도했지만 4000 자로 데이터를 자릅니다.ntext 열의 값 수정

아무도 나에게 힌트, 아이디어 또는 workround 솔루션을 제공 할 수 있습니까?

+0

4000 문자는 8000 바이트와 동일합니까? –

+1

잘라내는 코드를 보여주십시오. – Hogan

답변

1

nvarchar (max)는 잘리지 않습니다.

어딘가에 중간 nvarchar (4000) 이하의 문자열이 있으며 일반적으로 문자열 상수입니다. 자세한 내용을 보려면 내 대답을 참조하십시오. For Nvarchar(Max) I am only getting 4000 characters in TSQL?

nvarchar (최대)로 전송할 수 있으면 열을 변경할 수도 있음을 의미합니다. Remus가 말했듯이 ntext는 더 이상 사용되지 않습니다.

+0

nvarchar (max)를 사용하여 테스트했으며 정상적으로 작동합니다. proc에서 prob를 발생시키는 중간 변수가 있어야합니다. 도움 주셔서 감사합니다. – user247759

1

더 적합한 NVARCHAR (MAX)로 사용되지 않는 유형 NTEXT를 바꾸고 UPDATE SET column.Write 구문을 사용하십시오 (Using Large-Value Data Types 참조).

구형 NTEXT는 UPDATETEXT을 지원하지만 현재는 사용되지 않습니다.