Mam starsze źródło bazy danych PostgreSQL (ODBC), które próbuję migrować do nowego schematu programu SQL Server za pomocą SSIS. Dostaję ostrzeżenie:
Metoda pobierania „wiersz po wierszu” jest wymuszona, ponieważ tabela zawiera kolumny LOB. Zawartość kolumny to LOB
Chodzi o to, że żadna kolumna tak naprawdę nie musi być LOB-em. Istnieje kilka rodzajów TEKSTÓW, ale można je łatwo zmieścić w varchar (maks.). Nawet obcy, choć większość już są typu varchar, ale wydaje się niczego na varchar (128) jest traktowany tak, jakby był to LOB (we właściwościach zaliczek, typ danych jest DT_NTEXT).
Zdarzyło się, że próbowałem wykonać ręczne polecenie SQL, w którym jawnie rzuciłem każdy typ łańcucha na varchar o odpowiedniej długości w instrukcji select i nadal są one ustawiane jako DT_NTEXT w źródle ODBC.
Nie jestem DBA, więc jest całkiem możliwe, że robię coś naprawdę głupiego. Chciałbym po prostu poznać najlepszy sposób, aby upewnić się, że typy skończą się jako varchary, aby móc pobierać partie. Jakieś pomysły?
W razie potrzeby używam SSIS-BI 2014 w Visual Studio 2013.
varchar(max)
że to tylko skrót do stwierdzenia, że dane kolumny mogą mieścić się w maksymalnym rozmiarze varchara, który wynosi około 4000, dla celów SSIS, tak myślę. Tak naprawdę nie przesyłam niczego varchar(max)
; chociaż varchar(4000)
dla pewności rzuciłem kilka kolumn .