Tôi giả sử bạn đang cố gắng nhập dữ liệu này bằng Nguồn Excel trong hộp thoại SSIS?
Nếu vậy, vấn đề có thể là SSIS lấy mẫu một số hàng ở đầu bảng tính của bạn khi tạo nguồn Excel. Nếu trên cột [Mô tả ngắn] nó không nhận thấy bất kỳ điều gì quá lớn, nó sẽ mặc định là cột văn bản 255 ký tự.
Vì vậy, để nhập dữ liệu từ một cột chứa các hàng có lượng lớn dữ liệu mà không bị cắt bớt, có hai tùy chọn:
- Bạn phải đảm bảo rằng cột [Mô tả ngắn] trong ít nhất một trong các hàng được lấy mẫu chứa giá trị dài hơn 255 ký tự. Một cách để thực hiện việc này là sử dụng hàm REPT (), ví dụ:=REPT ('z', 4000), sẽ tạo ra một chuỗi 4000 của ký tự 'z'.
- Bạn phải tăng số lượng hàng được lấy mẫu bởi trình điều khiển Jet Excel để bao gồm một hàng như vậy. Bạn có thể tăng số hàng được lấy mẫu bằng cách tăng giá trị của TypeGuessRows trong
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
(nếu hệ thống của bạn là x64 thì theoHKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Jet\4.0\Engines\Excel
) khóa đăng ký.
Bạn có thể xem thêm thông tin tại hai liên kết sau:
- http://waxtadpole.wordpress.com/2008/04 / 28 / hello-world /
- http://technet.microsoft.com/en-us/ thư viện / ms141683.aspx
Để giải thích thêm, SSIS tạo 3 đối tượng đằng sau hậu trường của trình hướng dẫn, một đối tượng nguồn dữ liệu Excel, một đối tượng đích bảng SQL và toán tử luồng dữ liệu giữa chúng. Đối tượng nguồn trong Excel xác định dữ liệu nguồn và tồn tại độc lập với hai đối tượng còn lại. Vì vậy, khi nó được tạo, lấy mẫu mà tôi mô tả đã được thực hiện và kích thước cột nguồn được đặt. Vì vậy, vào thời điểm toán tử luồng dữ liệu thực thi và cố gắng kéo dữ liệu từ excel để đưa vào bảng của bạn, nó đã xem xét nguồn dữ liệu được giới hạn ở 255 ký tự.