У меня есть устаревший источник базы данных PostgreSQL (ODBC), который я пытаюсь перенести на новую схему SQL Server с использованием служб SSIS. Я получаю предупреждение:
Метод извлечения 'Row by Row' применяется потому, что в таблице есть столбцы LOB. Содержимое столбца LOB
Дело в том, что ни один столбец не нужен быть большим. Есть несколько типов TEXT, но они могут легко поместиться в varchar (max). Тем не менее, даже более странно, что большинство из них уже являются varchars, но кажется, что все, что касается varchar (128), обрабатывается так, как если бы это был LOB (заранее свойства, тип данных - DT_NTEXT).
Я попытался выполнить ручную команду SQL, в которой я явно приводил каждый тип строки к varchar соответствующей длины в операторе select, и они все еще устанавливаются как DT_NTEXT в источнике ODBC.
Я не администратор, поэтому вполне возможно, что я делаю что-то действительно глупое. Я просто хотел бы знать, как лучше всего убедиться, что типы заканчиваются как varchars, чтобы я мог получать пакетные данные. Есть идеи?
Если это имеет значение, я использую SSIS-BI 2014 внутри Visual Studio 2013.
varchar(max)
качестве краткого изложения то, что данные столбца могут соответствовать максимальному размеру varchar, который составляет около 4000, для целей SSIS, я думаю. Я на самом деле ничего не бросаю varchar(max)
; тем не менее, я использовал несколько столбцов varchar(4000)
, чтобы быть в безопасности.