2010-08-17 2 views
16

Microsoft SQL Server Management Studio Express를 사용하여 SQL Server 2005에 연결 한 경우 (2005, 버전 9.000과 같은 것으로 생각하십시오). 나는 많은 텍스트를 저장하는 하나의 컬럼을 가진 테이블을 가지고있다. 열 유형을 텍스트로 설정했습니다. 이 열에 많은 텍스트가있는 행이 있으면 삭제할 수 없습니다. 삭제하려고하면 "문자열 또는 이진 데이터가 잘 리게됩니다"라는 메시지가 나타납니다. 행을 편집하려고하면 같은 메시지가 나타납니다. 나는 무엇을해야합니까?행을 삭제할 때 "문자열 또는 이진 데이터가 잘립니다."

상당한 : 나는 그것을 드롭 테이블로 수정하고 다시 만듭니다.하지만 나는 해결책을 원합니다!

답변

3

일반적으로 이러한 종류의 오류는 긴 ​​값을 저장할 수없는 열에 삽입 할 때 발생합니다. 행을 삭제할 때 사용자를 대신하여 수행 할 수있는 트리거 또는 관련 논리가 없는지 확인하십시오 (예 : 기록 목적/감사 내역 용)

+1

내 열 유형이 ntext이며 행을 삭제하려고 할 때 이런 일이 발생했습니다 ... 마지막 문장을 참조하십시오. –

+0

정확한 문제가 있습니다. 나는'ntext' 필드로도 값을 변경하거나 행을 지울 수 없다. –

+1

동일한 문제점이 있으며 트리거가 없습니다. – newbie

22

내가 파티에 늦었을 때 문제에 대한 원래 포스터의 설명을 검토하면 테이블 편집기 인터페이스에서 행을 삭제하려고하는 것처럼 들립니다. 방금 긴 텍스트가있는 "텍스트"열이 포함 된 테이블에서 이와 동일한 문제가 발생했습니다.이 문제는 실제로 편집기 자체의 제한 사항과 관련이있는 것으로 보입니다. 내 자신의 조사에서 텍스트 열이 4000자를 초과하는 행을 편집 할 수없는 것으로 보입니다. 나는 SSMS 2008 R2를 테스트했다.

이렇게하면 다른 사람이이 오류가 발생하는 데 도움이되기를 바랍니다.

+1

이 경우 SQL 쿼리를 사용하여 해당 레코드를 삭제 한 다음 수정 된 긴 텍스트 데이터가있는 새 레코드를 추가했습니다. – Bronek

+1

게시 해 주셔서 감사합니다. Ted. 편집기 인터페이스에서 비트 필드를 0으로 변경하려고 시도 할 때 오류가 발생하여 꽤 신비 스러웠습니다. 이것은 나를 위해서도 문제가되는 것으로 판명되었습니다. – BobRodes

1

필자의 데이터 유형을 nvarchar (MAX)로 변경하고 편집하고 삭제할 수있었습니다. 나는 테이블의 상위 200 행을 선택한 후 동일한 문제 및 해결 ... 했다

10

, 지금 NTEXT 열 (큰 텍스트를 가진 컬럼의 선택을 취소 을 "표시 기준 창"(도구 모음의 왼쪽)을 클릭합니다) 이제 모든 행을 삭제하거나 업데이트 할 수 있습니다.

+0

Visual Studio 2013 : 'Ctrl + 2'를 누르거나 결과 창 내부를 마우스 오른쪽 단추로 클릭 한 다음 창> 기준을 선택하여 기준 창을 표시하십시오. 이제 열의 Output 플래그를 지우십시오. 행을 삭제할 수 있어야합니다. –

관련 문제