KB2511151 - KHẮC PHỤC: Cột của nguồn Tệp Phẳng không được nhập nếu dữ liệu cột tiếp theo dài một byte so với độ rộng cột đầu ra trong SSIS 2005, SSIS 2008 hoặc SSIS 2008 R2

Áp dụng cho
Microsoft SQL Server 2005 SQL Server 2008 SQL Server 2008 R2

Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 và 2005 dưới dạng một tệp có thể tải xuống. Vì các bản sửa lỗi mang tính tích lũy, nên mỗi bản phát hành mới đều chứa tất cả các bản sửa lỗi nóng và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008, SQL Server 2008 R2 và SQL Server 2005 trước đó.

Triệu chứng

Hãy cân nhắc các trường hợp sau:

  • Bạn có gói Microsoft SQL Server Integration Services 2005 (SSIS 2005), Microsoft SQL Server Integration Services 2008 (SSIS 2008) hoặc Microsoft SQL Server Integration Services 2008 R2 (SSIS 2008 R2) chứa nhiệm vụ Dòng Dữ liệu.

  • Bạn sử dụng nguồn Tệp Phẳng để nhập tệp dữ liệu đầu vào trong tác vụ Dòng Dữ liệu.

  • Tệp dữ liệu đầu vào chứa ít nhất hai cột. Một cột có độ dài dữ liệu lớn hơn hoặc nhỏ hơn độ rộng cột đầu ra. Độ dài dữ liệu của cột tiếp theo dài hơn một byte so với độ rộng cột đầu ra của cột đó.

    Ví dụ: độ dài dữ liệu là 6 trong cột có độ rộng cột đầu ra là 50 và độ dài dữ liệu là 9 trong cột tiếp theo có độ rộng cột đầu ra là 8.

    Lưu ý Bạn có thể chỉ định độ rộng cột đầu ra trong hộp thoại Trìnhchỉnh sửa Bộ quản lý Kết nối Tệp Phẳng.

  • Bạn chỉ định kiểu dữ liệu của cột để chuyển đổi dữ liệu diễn ra. Ví dụ: bạn chỉ định kiểu dữ liệu chuỗi Unicode DT_WSTR cho các cột. Do đó, chuyển đổi dữ liệu được thực hiện nếu kiểu dữ liệu của tệp dữ liệu đầu vào là ANSI.

  • Bạn chạy gói SSIS.

Trong kịch bản này, dữ liệu của cột trước cột có độ dài dữ liệu dài hơn độ rộng cột đầu ra một byte không được nhập.

Lưu ý: Nếu có hơn hai cột đáp ứng các điều kiện trong kịch bản này, chỉ cột đầu tiên đứng trước cột có độ dài dữ liệu dài hơn độ rộng cột đầu ra một byte sẽ không được nhập.

Giải pháp

Thông tin cập nhật tích lũy

SQL Server 2008 R2 Gói Dịch vụ 1

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 1 cho SQL Server 2008 R2 Gói Dịch vụ 1. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2544793 Gói Cập nhật Tích lũy 1 cho SQL Server 2008 R2 Gói Dịch vụ 1Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2567616 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 Gói Dịch vụ 1 được phát hành

SQL Server 2008 Gói Dịch vụ 2

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 4 dành cho SQL Server 2008 Gói Dịch vụ 2. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2527180 Gói cập nhật tích lũy 4 cho SQL Server 2008 Gói Dịch vụ 2Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2402659 Các bản dựng SQL Server 2008 được phát hành sau khi SQL Server 2008 Gói Dịch vụ 2 được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng hotfix SQL Server 2008 Gói Dịch vụ 2 cho cài đặt SQL Server 2008 Gói Dịch vụ 2. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

SQL Server 2008 R2

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật Tích lũy 7. Để biết thêm thông tin về cách lấy gói cập nhật tích lũy này cho SQL Server 2008 R2, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2507770 Gói Cập nhật Tích lũy 7 cho SQL Server 2008 R2 Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả bản hotfix và tất cả bản sửa lỗi bảo mật được tích hợp trong bản phát hành bản sửa lỗi SQL Server 2008 R2 trước đó. Chúng tôi khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi gần đây nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

981356 Các bản dựng SQL Server 2008 R2 được phát hành sau khi SQL Server 2008 R2 được phát hành

SQL Server 2008

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 13 dành cho SQL Server 2008 Gói Dịch vụ 1. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2497673 Gói cập nhật tích lũy 13 cho SQL Server 2008 Gói Dịch vụ 1Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2008 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

970365 Các bản dựng SQL Server 2008 được phát hành sau khi SQL Server 2008 Gói Dịch vụ 1 được phát hành Các hotfix Microsoft SQL Server 2008 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng hotfix SQL Server 2008 Gói Dịch vụ 1 cho cài đặt SQL Server 2008 Gói Dịch vụ 1. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

SQL Server 2005 Gói Dịch vụ 4

Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật Tích lũy 3 cho SQL Server 2005 Gói Dịch vụ 4. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2507769 Gói cập nhật tích lũy 3 cho SQL Server 2005 Gói Dịch vụ 4Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành bản sửa lỗi SQL Server 2005 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2485757 Các bản dựng SQL Server 2005 được phát hành sau khi SQL Server 2005 Gói Dịch vụ 4 được phát hành Các hotfix Microsoft SQL Server 2005 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng hotfix SQL Server 2005 Gói Dịch vụ 4 cho cài đặt SQL Server 2005 Gói Dịch vụ 4. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

SQL Server 2005 Gói Dịch vụ 3

                
  Bản sửa lỗi cho sự cố này được phát hành lần đầu trong Bản cập nhật tích lũy 15 dành cho SQL Server 2005 Gói Dịch vụ 3. Để biết thêm thông tin về gói cập nhật tích lũy này, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2507766 Gói cập nhật tích lũy 15 cho SQL Server 2005 Gói Dịch vụ 3Lưu ý Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới đều chứa tất cả các bản hotfix và tất cả bản sửa lỗi bảo mật có trong bản phát hành sửa lỗi SQL Server 2005 trước đó. Microsoft khuyên bạn nên cân nhắc áp dụng bản phát hành bản sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

960598 Các bản dựng SQL Server 2005 được phát hành sau khi SQL Server 2005 Gói Dịch vụ 3 được phát hành Các hotfix Microsoft SQL Server 2005 được tạo cho các gói dịch vụ SQL Server cụ thể. Bạn phải áp dụng hotfix SQL Server 2005 Gói Dịch vụ 3 cho cài đặt SQL Server 2005 Gói Dịch vụ 3. Theo mặc định, mọi hotfix được cung cấp trong gói dịch vụ SQL Server sẽ được đưa vào gói dịch vụ SQL Server tiếp theo.

Giải pháp thay thế

Để khắc phục vấn đề này, hãy tránh chuyển đổi dữ liệu trong nguồn Tệp Phẳng, sau đó thực hiện thao tác chuyển đổi dữ liệu sau khi dữ liệu được nhập.

Ví dụ: bạn có thể chỉ định loại chuỗi DT_STR thay vì loại chuỗi Unicode DT_WSTR cho các cột nếu loại dữ liệu của tệp dữ liệu đầu vào là ANSI.

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".

Tham khảo

Để biết thêm thông tin về trình quản lý kết nối Tệp Phẳng, hãy truy cập trang web MSDN sau:

Thông tin chung về trình quản lý kết nối Tệp Phẳng Để biết thêm thông tin về Mô hình Dịch vụ Gia tăng cho SQL Server, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

935897 Mô hình Dịch vụ Gia tăng có sẵn từ nhóm SQL Server để cung cấp các bản sửa lỗi nóng cho các sự cố được báo cáoĐể biết thêm thông tin về sơ đồ đặt tên cho các bản cập nhật SQL Server, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

822499 Giản đồ đặt tên mới cho các gói cập nhật phần mềm Microsoft SQL Server Để biết thêm thông tin về thuật ngữ cập nhật phần mềm, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở kiến thức Microsoft:

824684 Mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm của Microsoft