SSIS를 사용하여 새 SQL Server 스키마로 마이그레이션하려는 레거시 PostgreSQL 데이터베이스 소스 (ODBC)가 있습니다. 경고 메시지가 나타납니다.
테이블에 LOB 열이 있으므로 'Row by Row'페치 메소드가 적용됩니다. 열 내용은 LOB입니다
문제는 실제로 어떤 열도 LOB 일 필요 는 없다는 것입니다 . TEXT 유형 인 몇 가지가 있지만 varchar (max) 내에 쉽게 들어갈 수 있습니다. 심지어 낯선 사람이하지만, 대부분 이미 있습니다 으로 VARCHAR,하지만 그것이 LOB 것처럼 치료를 받고 VARCHAR 이상 아무것도 (128)를 보인다 (사전 속성이 데이터 유형은 DT_NTEXT입니다).
이벤트는 수동으로 SQL 명령을 수행하여 select 문에서 모든 문자열 유형을 적절한 길이의 varchar로 캐스트했지만 여전히 ODBC 소스에서 DT_NTEXT로 설정되어 있습니다.
나는 DBA가 아니기 때문에 정말 바보 같은 일을 할 수 있습니다. 일괄 가져 오기를 할 수 있도록 유형이 varchar로 끝나도록하는 가장 좋은 방법을 알고 싶습니다. 어떤 아이디어?
중요한 경우 Visual Studio 2013에서 SSIS-BI 2014를 사용하고 있습니다.
varchar(max)
SSIS의 목적을 위해 열 데이터가 최대 varchar 크기 (약 4000)에 맞을 수 있다고 말하는 것에 대한 약칭으로 언급 했습니다. 나는 실제로 아무것도 캐스팅하지 않습니다 varchar(max)
. 그러나 나는 varchar(4000)
안전을 위해 일부 열을에 캐스팅했습니다 .