Khắc phục: Thông báo lỗi khi bạn chạy một gói SQL Server 2005, SQL Server 2008 hay SQL Server 2008 R2 dịch vụ tích hợp (SSIS) sau khi bạn cài đặt .NET Framework 2.0 SP2 hoặc .NET Framework 3.5 SP1: "ADO NET nguồn [1424]"

LỖI #: 112699 (bảo trì nội dung)
VSTS lỗi số: 266054

Microsoft phân phối Microsoft SQL Server 2005, Microsoft SQL Server 2008, và Microsoft SQL Server 2008 R2 bản sửa lỗi như là một tải về tệp. Bởi vì các bản sửa lỗi tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả bản vá bảo mật được đính kèm với SQL Server 2005, Microsoft SQL Server 2008 hay SQL Server 2008 R2 bản vá.

Triệu chứng

Xem xét tình huống sau:

  • Bạn chạy một gói Microsoft SQL Server 2005, Microsoft SQL Server 2008 hay SQL Server 2008 R2 dịch vụ tích hợp (SSIS) trên máy tính có cài đặt .NET Framework sau:

    • .NET Framework 2.0 Service Pack 2 (SP2)

    • .NET Framework 3.5 Gói Dịch vụ 1 (SP1)

  • Các gói SSIS sử dụng trình điều khiển ODBC bên thứ ba nhập dữ liệu ký tự.

Tuy nhiên, khi bạn chạy các gói SSIS, bạn nhận được thông báo lỗi sau:

[ADO NET nguồn [1424]] Lỗi: SSIS mã lỗi DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Phần"ADO NET nguồn"(1424)" thất bại vì lỗi mã 0x80131937 xảy ra, và bố trí hàng lỗi trên "kết quả cột"columnname"(số)" xác định lỗi lỗi. Lỗi xuất hiện trên các đối tượng được chỉ định của cấu phần được chỉ định. Có thông báo lỗi đăng trước đây với thêm thông tin về lỗi.

Lỗi 0xc0209029: Dữ liệu dòng công việc: "Phần"ComponentName"(1)" thất bại vì lỗi mã 0x80131937 xảy ra.

[ADO NET nguồn [1424]] Lỗi: Các thành phần "ADO NET nguồn" (1424) không thể xử lý dữ liệu. Cấu phần đường kết nối đã trả về mã lỗi HRESULT 0xC0209029 từ một cuộc gọi phương pháp.

[SSIS. Đường kết nối] lỗi: SSIS mã lỗi DTS_E_PRIMEOUTPUTFAILED. Phương pháp PrimeOutput trên thành phần "ADO NET nguồn" (1424) trả về lỗi mã 0xC02090F5. Phần trả lại một mã lỗi khi công cụ đường ống gọi là PrimeOutput(). Ý nghĩa của các mã lỗi được xác định bởi các thành phần, nhưng lỗi nghiêm trọng và đường ống ngừng thực thi. Có thông báo lỗi đăng trước đây với thêm thông tin về lỗi.

Vấn đề này ảnh hưởng đến trình điều khiển ODBC được truy cập từ nhà cung cấp ODBC được quản lý khi các điều kiện sau là đúng:

  • Hàm ExecuteReader là bằng tham số CommandBehavior.SequentialAccess . Cuộc gọi và tham số này được sử dụng trong các trường hợp sau:

    • Khi một gói SQL Server 2005 SSIS đọc dữ liệu từ một nguồn DataReader hoặc khi SQL Server 2008 SSIS gói đọc dữ liệu từ nguồn dữ liệu ADO.NET quản lý.

    • Nguồn dữ liệu không được cấu hình để chuyển các giá trị lỗi và việc cắt xén.

  • Hàm OdbcDataReader.IsDbNull được gọi là. Các gói SSIS sử dụng phương pháp này để xác định giá trị trong một lĩnh vực là NULL hay không.

  • Một trong các chức năng sau đây được gọi là:

    • Hàm OdbcDataReader.GetBytes được gọi là để có được một số loại dữ liệu, chẳng hạn như DT_BYTES, từ nhà cung cấp ODBC được quản lý.

    • Hàm OdbcDataReader.GetChars được gọi là để có được một số loại dữ liệu chuỗi, chẳng hạn như DT_WSTR, từ nhà cung cấp ODBC được quản lý.

Nguyên nhân

.NET Framework 2.0 SP2 và .NET Framework 3.5 SP1 giới thiệu thay đổi nhà cung cấp ODBC quản lý do đó chuỗi được đọc từ trình điều khiển ODBC riêng trong tình huống được mô tả trong phần "Triệu chứng". Vì sự thay đổi này, các nhà cung cấp ODBC quản lý được gọi là trong trình điều khiển ODBC riêng bằng cách sử dụng hàm API SQLGetData sử dụng một bộ đệm kích thước 0. Trình điều khiển ODBC tuân thủ không có vấn đề trong này. Tuy nhiên, trình điều khiển ODBC noncompliant có thể thất bại trong các trường hợp. Đối với trình điều khiển ODBC tuân thủ, SQLGetData API chức năng trả về SUCCESS_WITH_INFO khi một bộ đệm kích thước 0 được phát hiện. Đối với trình điều khiển ODBC noncompliant, cuộc gọi trả về NO_DATA.

Giải pháp

Thông tin về cập nhật nóng

Cập nhật nóng được hỗ trợ do Microsoft cung cấp. Tuy nhiên, cập nhật nóng này chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cập nhật nóng này cho hệ thống đang gặp sự cố cụ thể này. Cập nhật nóng này có thể được kiểm tra thêm. Vì vậy, nếu bạn không bị ảnh hưởng nghiêm trọng bởi sự cố này, chúng tôi khuyên bạn đợi bản cập nhật phần mềm tiếp theo có chứa cập nhật nóng này.

Nếu cập nhật nóng này sẵn có để tải xuống thì sẽ có phần "Cập nhật nóng có sẵn để tải xuống" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy liên hệ với Dịch vụ Khách hàng và Bộ phận Hỗ trợ của Microsoft để nhận được các cập nhật nóng.

Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố, bạn có thể phải tạo một yêu cầu dịch vụ riêng. Chi phí hỗ trợ thông thường sẽ tính cho các câu hỏi hỗ trợ bổ sung và các sự cố không phù hợp với cập nhật nóng cụ thể này. Để có danh sách đầy đủ số điện thoại hỗ trợ và dịch vụ khách hàng của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy ghé thăm Web site sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Mẫu "Tải xuống cập nhật nóng sẵn có" hiển thị các ngôn ngữ mà cập nhật nóng này sẵn có. Nếu bạn không thấy ngôn ngữ của mình thì đó là do cập nhật nóng này hiện không có ngôn ngữ đó.

Điều kiện tiên quyết

Bạn phải có .NET Framework 2.0 Service Pack 2 cài đặt.

Thông tin khởi động lại

Bạn không phải khởi động lại máy tính sau khi bạn áp dụng hotfix này.

Thông tin đăng ký

Bạn không phải thay đổi sổ đăng ký.

Thông tin tập tin hotfix

Hotfix này chỉ chứa các tệp cần thiết để khắc phục sự cố mà bài viết này liệt kê. Hotfix này có thể chứa tất cả các tệp mà bạn phải hoàn toàn Cập nhật sản phẩm lên bản mới nhất. Tiếng Anh các phiên bản của hotfix này có các thuộc tính tệp (hoặc thuộc tính tệp mới hơn) được liệt kê trong bảng sau. Ngày và giờ của các tệp này được liệt kê theo Giờ Quốc tế Phối hợp (UTC). Khi bạn xem thông tin về tệp, ngày và giờ được chuyển đổi thành giờ địa phương. Để tìm sự khác nhau giữa UTC và giờ địa phương, sử dụng tab múi giờ trong mục ngày và giờ trong Pa-nen điều khiển.

.NET framework 2.0 cho Windows 2000, Windows Server 2003, Windows XP, phiên bản 32 bit

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

Nền tảng

System.data.dll

2.0.50727.4063

2.933.760

19-

05:08

x86

.NET framework 2.0 cho Windows 2000, Windows Server 2003, Windows XP, x64 Phiên bản

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

Nền tảng

System.data.dll

2.0.50727.4063

3,008,512

18-

23:51

x64

System.data.dll

2.0.50727.4063

2.933.760

19-

05:08

x86

.NET framework 2.0 cho Windows 2000, Windows Server 2003, phiên bản Windows XP, IA-64

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

Nền tảng

System.data.dll

2.0.50727.4063

2.933.760

19-

05:08

x86

System.data.dll

2.0.50727.4063

3,234,816

19-

01:09

IA-64

.NET framework 2.0 cho Windows Vista, Windows Server 2008, phiên bản 32-bit

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

System.data.dll

2.0.50727.4400

2.933.760

10-Sep-2009

11:54

.NET framework 2.0 cho Windows Vista, Windows Server 2008, x64 Phiên bản

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

System.data.dll

2.0.50727.4400

3,008,512

10-Sep-2009

11:54

.NET framework 2.0 cho Windows Vista, Windows Server 2008, phiên bản IA-64

Tên tệp

Phiên bản tệp

Kích thước tệp

Ngày

Giờ

System.data.dll

2.0.50727.4400

3,234,816

10-Sep-2009

11:54

Nếu hotfix này không được đăng tải công cộng (nghĩa là một URL công cộng cho hotfix này không được cung cấp trong bài viết này), phân phối cần có chỉ dẫn kỹ thuật, thành viên đội đồng ý hoặc phê duyệt quản lý và thông tin sau áp dụng:

  • Để nhận hotfix này, khách hàng phải đang gặp lỗi được đề cập trong phần "Triệu chứng".

  • Bạn phải theo dõi khách hàng bạn gửi đến và cung cấp các gói dịch vụ tiếp theo khi có sẵn (nếu gói dịch vụ được phát hành).

Hotfix này dự kiến sẽ có trong .NET Framework 2.0 Service Pack 3.

Phần "Giải pháp" biết liệu này được cung cấp một hotfix hoặc gói dịch vụ mới nhất. Để so sánh và kiểm tra, hotfix gốc hiện có trên trang Web http://hotfix .

Giải pháp

Để khắc phục sự cố này, sử dụng một trong các phương pháp sau.

Phương pháp 1

Chỉnh sửa các gói SSIS cấu hình lỗi và chuyển hướng việc cắt xén DataReader nguồn hoặc nguồn dữ liệu ADO.NET quản lý. Sau khi bạn chỉnh sửa các gói SSIS để chuyển hướng đầu ra lỗi đến một, các gói sẽ chạy thành công ngay cả khi không có hàng được viết đến đích. Để thực hiện việc này, hãy làm theo các bước sau.

Lưu ý Các bước sau đây giả sử rằng bạn đang sử dụng một gói SQL Server 2005 SSIS mà đọc dữ liệu từ một nguồn DataReader.

  1. Mở gói SSIS trong SQL Server Business Intelligence Development Studio.

  2. Mở hộp thoại Trình soạn thảo nâng cao cho DataReader nguồn dữ liệu dòng thiết kế.

  3. Nhấp vào tab nhập và xuất , và sau đó mở rộng nút DataReader đầu rađầu vào và đầu ra cây.

  4. Mở rộng Ra cột nút.

  5. Nhấp vào cột từng nút Đầu cột và sau đó kiểm tra thuộc loại dữ liệu . Đối với mỗi cột có thuộc tính loại dữ liệu DT_WSTR, DT_NTEXT, DT_BYTES, hoặc DT_IMAGE, chỉnh sửa hai thuộc tính sau:

    • Đặt thuộc tính ErrorRowDisposition RD_RedirectRow.

    • Đặt thuộc tính TruncationRowDisposition RD_RedirectRow.

  6. Bấm OK để lưu thay đổi.

  7. Thiết kế Data Flow, thêm một đích mới. Ví dụ: thêm đích đến tập tin phẳng hoặc một điểm đến máy chủ SQL.

  8. Sử dụng mũi tên màu đỏ từ nguồn DataReader kết nối đến mới nhất. Thao tác này sẽ hướng dẫn lỗi hàng và việc cắt xén hàng đến đích để tiết kiệm hàng lỗi.

  9. Lặp lại bước 1 đến 8 cho tất cả dữ liệu lưu lượng mà truy cập ODBC chuỗi hoặc hình ảnh cột và rằng không có thông báo lỗi được đề cập trong phần "Triệu chứng".

Phương pháp 2

Dỡ cài đặt .NET Framework 2.0 SP2 hoặc .NET Framework 3.5 SP1. Tuy nhiên, chúng tôi khuyến nghị bạn dỡ cài đặt gói dịch vụ bởi vì điều này hy sinh độ tin cậy, tính năng cải tiến và tối ưu hóa hiệu suất các gói dịch vụ cung cấp.



Để khôi phục Hệ thống về trạng thái vào trước khi bạn cài đặt .NET Framework 2.0 SP2 hoặc .NET Framework 3.5 SP1, hãy làm theo các bước sau:

  1. Trong bảng điều khiển, bấm đúp vào thêm/loại bỏ chương trình.

  2. Tìm Microsoft .NET Framework 3.5 SP1, và sau đó dỡ cài đặt.

  3. Tìm Microsoft .NET Framework 3.0 SP2, và sau đó dỡ cài đặt.

  4. Tìm Microsoft .NET Framework 2.0 SP2, và sau đó dỡ cài đặt.

  5. Cài đặt lại phiên bản gốc của .NET Framework 3.5. Bước này sẽ cài đặt .NET Framework 2.0 SP1 và .NET Framework 3.0 SP1. Để tải .NET Framework 3.5, ghé thăm Web site sau của Microsoft:

    http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

Phương pháp 3

Liên hệ với nhà cung cấp trình điều khiển ODBC bên thứ ba để xác định xem nhà cung cấp có bản Cập Nhật trình điều khiển để giải quyết vấn đề này.

Trạng thái

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

Tác giả (SME): bruceye
Người viết: ericzha
Biên tập: jasonh; cathmill enamulk;
Biên tập viên: v-rhowar

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×