У мене є застаріле джерело баз даних PostgreSQL (ODBC), яке я намагаюся перенести на нову схему SQL Server за допомогою SSIS. Я отримую попередження:
Метод отримання "Row by Row" застосовується, оскільки в таблиці є стовпці LOB. Вміст стовпця - LOB
Вся справа в тому, що жоден стовпець насправді не повинен бути LOB. Є кілька типів TEXT, але вони можуть легко вміститися в межах варшара (макс.). Навіть незнайомі, хоча більшість вже є варшарами, але здається, що все, що над varchar (128) трактується так, ніби це LOB (заздалегідь властивості, тип даних - DT_NTEXT).
Я подія спробувала виконати ручну команду SQL, де явно передавала кожен тип рядка варшару відповідної довжини у операторі select, і вони все ще встановлюються як DT_NTEXT у джерелі ODBC.
Я не DBA, тому цілком можливо, я роблю щось по-справжньому дурне. Я просто хотів би знати найкращий спосіб забезпечити, щоб типи виявились варшарами, щоб я міг отримати вибір. Будь-які ідеї?
Якщо це має значення, я використовую SSIS-BI 2014 у Visual Studio 2013.
varchar(max)
як скорочення, сказавши, що дані стовпців можуть відповідати максимальному розміру варшара, який становить близько 4000, для цілей SSIS. Я насправді нічого не кидаю varchar(max)
; однак я закинув кілька колонок varchar(4000)
, щоб бути в безпеці.