Ho un'origine database PostgreSQL (ODBC) legacy che sto tentando di migrare al nuovo schema di SQL Server utilizzando SSIS. Ricevo un avviso che dice:
Il metodo di recupero 'Row by Row' viene applicato perché la tabella ha colonne LOB. Il contenuto della colonna è LOB
Il fatto è che nessuna colonna deve davvero essere LOB. Ce ne sono alcuni che sono tipi TEXT, ma potrebbero adattarsi facilmente all'interno di un varchar (max). Ancora più strano, tuttavia, la maggior parte sono già varchars, ma sembra che qualsiasi cosa su varchar (128) sia trattata come se fosse un LOB (in anticipo, il tipo di dati è DT_NTEXT).
Ho provato ad eseguire un comando SQL manuale in cui ho esplicitamente eseguito il cast di ogni tipo di stringa in un varchar di una lunghezza appropriata nell'istruzione select e sono ancora impostati come DT_NTEXT nell'origine ODBC.
Non sono un DBA, quindi è del tutto possibile che stia facendo qualcosa di veramente stupido. Vorrei solo sapere il modo migliore per garantire che i tipi finissero come varchar in modo da poter recuperare in batch. Qualche idea?
Nel caso in cui sia importante, sto usando SSIS-BI 2014 in Visual Studio 2013.
varchar(max)
solo una scorciatoia per dire che i dati della colonna possono rientrare nella dimensione massima del varchar, che è di circa 4000, a scopi di SSIS, credo. In realtà non sto lanciando nulla varchar(max)
; tuttavia, ho lanciato alcune colonne varchar(4000)
, solo per sicurezza.