Tôi có một nguồn cơ sở dữ liệu PostgreSQL cũ (ODBC) mà tôi đang cố gắng di chuyển sang lược đồ SQL Server mới bằng SSIS. Tôi đang nhận được một cảnh báo rằng:
Phương thức tìm nạp 'Row by Row' được thi hành vì bảng có (các) cột LOB. Nội dung cột là LOB
Vấn đề là, không có cột nào thực sự cần phải là LOB. Có một vài kiểu là văn bản, nhưng có thể dễ dàng phù hợp với một biến thể (tối đa). Mặc dù xa lạ, mặc dù, hầu hết đã là varchars, nhưng dường như mọi thứ trên varchar (128) đang được xử lý như thể đó là LOB (trong các thuộc tính trước, kiểu dữ liệu là DT_NTEXT).
Tôi đã thử thực hiện một lệnh SQL thủ công trong đó tôi đã truyền rõ ràng mọi loại chuỗi thành một biến có độ dài phù hợp trong câu lệnh chọn và chúng vẫn được đặt là DT_NTEXT trong nguồn ODBC.
Tôi không phải là một DBA, vì vậy hoàn toàn có thể tôi đang làm điều gì đó thực sự ngu ngốc. Tôi chỉ muốn biết cách tốt nhất để đảm bảo rằng các loại kết thúc dưới dạng varchars để tôi có thể tìm nạp hàng loạt. Có ý kiến gì không?
Trong trường hợp có vấn đề, tôi đang sử dụng SSIS-BI 2014 trong Visual Studio 2013.
varchar(max)
như một cách viết tắt để nói rằng dữ liệu cột có thể vừa với kích thước varchar tối đa, khoảng 4000, cho mục đích của SSIS, tôi nghĩ vậy. Tôi không thực sự đúc bất cứ điều gì varchar(max)
; Mặc dù vậy, tôi đã thực hiện một số cột để varchar(4000)
an toàn.