Eu tenho uma fonte de banco de dados PostgreSQL (ODBC) herdada que estou tentando migrar para o novo esquema do SQL Server usando o SSIS. Estou recebendo um aviso dizendo:
O método de busca 'Linha por linha' é imposto porque a tabela possui colunas LOB. O conteúdo da coluna é LOB
O problema é que nenhuma coluna precisa realmente ser LOBs. Existem alguns tipos de texto, mas que podem caber facilmente em um varchar (máx). Ainda mais estranho, porém, a maioria já é varchars, mas parece que algo sobre varchar (128) está sendo tratado como se fosse um LOB (em propriedades antecipadas, o tipo de dados é DT_NTEXT).
Eu tentei executar um comando SQL manual em que converti explicitamente todos os tipos de string para um varchar de tamanho apropriado na instrução select, e eles ainda estão sendo definidos como DT_NTEXT na fonte ODBC.
Eu não sou um DBA, então é perfeitamente possível que eu esteja fazendo algo realmente estúpido. Gostaria apenas de saber a melhor maneira de garantir que os tipos acabem como varchars para que eu possa buscar em lote. Alguma ideia?
Caso isso importe, estou usando o SSIS-BI 2014 no Visual Studio 2013.
varchar(max)
apenas como uma abreviação para dizer que os dados da coluna pode caber dentro do tamanho máximo varchar, que é por volta de 4000, para fins de SSIS, eu acho. Na verdade, não estou lançando nada para varchar(max)
; no entanto, lancei algumas colunas para varchar(4000)
, apenas por segurança.