Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Văn bản bị cắt ngắn hoặc một hoặc nhiều ký tự không khớp trong trang mã đích Khi nhập từ tệp Excel

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:

  1. 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'.
  2. 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ì theo HKEY_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:

Để 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ự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các cách theo dõi cơ sở dữ liệu đã xóa trong SQL Server

  2. ORDER BY (CHỌN NULL) nghĩa là gì?

  3. Nối SQL với truy vấn con tương quan trong đó các bảng có liên quan với nhau bằng các phạm vi chồng chéo

  4. Cách xóa tệp trong SQL Server 2019

  5. Thực hiện Liên minh nếu bảng có những tên này tồn tại