Microsoft กระจาย Microsoft SQL Server 2005, Microsoft SQL Server 2008 และ Microsoft SQL Server 2008 R2 แก้ไขเป็นแฟ้มหนึ่งแฟ้มที่สามารถดาวน์โหลดได้ เนื่องจากการแก้ไขเป็นแบบสะสม แต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และแก้ไขการรักษาความปลอดภัยทั้งหมดที่ถูกรวมอยู่กับก่อนหน้านี้ SQL Server 2005, Microsoft SQL Server 2008 หรือ SQL Server 2008 R2 รุ่นที่แก้ไข
อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณเรียกใช้แพคเกจ Microsoft SQL Server 2005, Microsoft SQL Server 2008 หรือ SQL Server 2008 R2 รวมบริการ (SSIS) บนคอมพิวเตอร์ที่มีการติดตั้ง.NET Framework ดังต่อไปนี้อย่างใดอย่างหนึ่ง:
-
ใน.NET Framework 2.0 Service Pack 2 (SP2)
-
การ.NET Framework 3.5 Service Pack 1 (SP1)
-
-
แพคเกจการ SSIS ใช้โปรแกรมควบคุม ODBC อื่นที่นำเข้าข้อมูลอักขระ
อย่างไรก็ตาม เมื่อคุณเรียกใช้แพคเกจ SSIS คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
[ADO NET แหล่ง [1424]] ข้อผิดพลาด: รหัส SSIS ข้อผิดพลาด DTS_E_INDUCEDTRANSFORMFAILUREONERROR "ส่วนประกอบ"ADO NET แหล่ง" (1424)" ล้มเหลวเนื่องจากเกิดข้อผิดพลาดรหัส 0x80131937 และการจัดการแถวข้อผิดพลาดใน "คอลัมน์ผลลัพธ์"columnname" (หมายเลข)" ความล้มเหลวที่ระบุกับข้อผิดพลาด เกิดข้อผิดพลาดในการระบุวัตถุประสงค์ของส่วนประกอบที่ระบุ อาจมีข้อผิดพลาดการลงรายการบัญชีก่อนหน้านี้ มีข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลว
ข้อผิดพลาด 0xc0209029: งานการไหลข้อมูล: "ส่วนประกอบ"ComponentName" (1)" ล้มเหลวเนื่องจากเกิดข้อผิดพลาดรหัส 0x80131937 ... [ADO NET แหล่ง [1424]] ข้อผิดพลาด: คอมโพเนนต์ "ADO NET แหล่ง" (1424) ไม่สามารถประมวลผลข้อมูล คอมโพเนนต์ของไปป์ไลน์ได้ส่งกลับรหัสข้อผิดพลาด HRESULT 0xC0209029 จากการเรียกวิธีการ [SSIS ข้อผิดพลาดของไปป์ไลน์]: รหัสข้อผิดพลาด SSIS DTS_E_PRIMEOUTPUTFAILED วิธีการ PrimeOutput บนรหัสข้อผิดพลาดที่ส่งคืน (1424) "ADO NET แหล่ง" ของคอมโพเนนต์ 0xC02090F5 คอมโพเนนต์ส่งกลับรหัสความล้มเหลวเมื่อโปรแกรมประกอบไปป์ไลน์เรียกว่า PrimeOutput() มีกำหนดความหมายของรหัสความล้มเหลวของคอมโพเนนต์ แต่ข้อผิดพลาดไม่ร้ายแรง และหยุดทำงานไปป์ไลน์การดำเนินการ อาจมีข้อผิดพลาดการลงรายการบัญชีก่อนหน้านี้ มีข้อมูลเพิ่มเติมเกี่ยวกับความล้มเหลวปัญหานี้มีผลต่อโปรแกรมควบคุม ODBC ที่เข้าถึงจากผู้ให้บริการการจัดการ ODBC เมื่อมีเงื่อนไขต่อไปนี้:
-
ฟังก์ชันExecuteReaderถูกเรียก ด้วยพารามิเตอร์CommandBehavior.SequentialAccess โทรและพารามิเตอร์นี้ใช้ในสถานการณ์ต่อไปนี้:
-
เมื่อแพคเกจ SSIS 2005 ของเซิร์ฟเวอร์ SQL อ่านข้อมูล จากแหล่ง DataReader หรือแพคเกจ SSIS 2008 เซิร์ฟเวอร์ SQL อ่านข้อมูลจากแหล่งข้อมูล ADO.NET ที่มีการจัดการ
-
แหล่งข้อมูลไม่ได้รับการกำหนดค่าการเปลี่ยนเส้นทางข้อผิดพลาดและการตัดทอนค่า
-
-
มีเรียกฟังก์ชันOdbcDataReader.IsDbNull แพคเกจ SSIS ใช้วิธีนี้เพื่อกำหนดว่า ค่าในเขตข้อมูลเป็น NULL หรือไม่
-
ฟังก์ชันต่อไปนี้อย่างใดอย่างหนึ่งเรียกว่า:
-
ฟังก์ชันOdbcDataReader.GetBytesถูกเรียกรับข้อมูลชนิด เช่น DT_BYTES จากตัวให้บริการ ODBC ที่มีการจัดการ
-
ฟังก์ชันOdbcDataReader.GetCharsถูกเรียกรับชนิดข้อมูลสตริง เช่น DT_WSTR จากตัวให้บริการ ODBC ที่มีการจัดการ
-
สาเหตุ
SP2 .NET Framework 2.0 และแบบ SP1 .NET Framework 3.5 แนะนำการเปลี่ยนแปลงในตัวให้บริการ ODBC ที่มีการจัดการที่อ่านสายอักขระจากโปรแกรมควบคุม ODBC ดั้งเดิมในสถานการณ์ที่อธิบายไว้ในส่วน "อาการ" เนื่องจาก มีการเปลี่ยนแปลงนี้ ODBC ผู้ให้บริการที่มีการจัดการที่ถูกเรียกในโปรแกรมควบคุม ODBC ดั้งเดิม โดยการใช้ฟังก์ชัน API SQLGetDataใช้บัฟเฟอร์ของขนาด 0 โปรแกรมควบคุม ODBC ที่เข้ากันได้ไม่มีปัญหาในการเรียกนี้ อย่างไรก็ตาม โปรแกรมควบคุม ODBC noncompliant อาจล้มเหลวภายใต้สถานการณ์เหล่านี้ สำหรับการเข้ากันได้กับโปรแกรมควบคุม ODBC ฟังก์ชันSQLGetData API ส่งกลับค่า SUCCESS_WITH_INFO บัฟเฟอร์ของขนาด 0 เมื่อตรวจพบ การเรียกคืนค่า NO_DATA สำหรับโปรแกรมควบคุม ODBC noncompliant
การแก้ปัญหา
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้ hotfix นี้เฉพาะกับระบบต่าง ๆ ที่พบปัญหานี้ โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับผลกระทบจากปัญหานี้รุนแรง เราขอแนะนำให้ คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ติดต่อฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน หมายเหตุ ถ้ามีปัญหาอื่น ๆ เกิดขึ้น หรือถ้าจำเป็นต้องแก้ไขปัญหาใด ๆ คุณอาจต้องสร้างคำขอรับบริการแยกต่างหาก จะมีค่าใช้จ่ายในการสนับสนุนปกติกับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนเฉพาะนี้ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าของ Microsoft และการสนับสนุน หรือ เพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
ข้อกำหนดเบื้องต้น
คุณต้องมี.NET Framework 2.0 Service Pack 2 ติดตั้ง
ข้อมูลการเริ่มระบบใหม่
คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้โปรแกรมแก้ไขด่วนนี้
ข้อมูลรีจิสทรี
คุณไม่จำเป็นต้องเปลี่ยนแปลงรีจิสทรี
รายละเอียดแฟ้มโปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนนี้ประกอบด้วยเฉพาะไฟล์ต่าง ๆ ที่จำเป็นเมื่อต้องการแก้ไขปัญหาที่บทความนี้ โปรแกรมแก้ไขด่วนนี้อาจไม่ประกอบด้วยแฟ้มทั้งหมดที่คุณต้องมีเพื่อปรับปรุงผลิตภัณฑ์อย่างสมบูรณ์ไปเป็นรุ่น รุ่นแบบภาษาอังกฤษของ hotfix นี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บโซนเวลาในรายการวันและเวลา'ใน'แผงควบคุม'
.NET framework 2.0 สำหรับ Windows 2000, Windows Server 2003, Windows XP รุ่น 32 บิต
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
System.data.dll |
2.0.50727.4063 |
2,933,760 |
19- |
05:08 |
x86 |
.NET framework 2.0 สำหรับ Windows 2000, Windows Server 2003, Windows XP, x64 รุ่น
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
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 สำหรับ Windows 2000, Windows Server 2003, Windows XP, IA-64 รุ่น
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
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 สำหรับรุ่น 32 บิตของ Windows Vista, Windows Server 2008
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
2,933,760 |
10-Sep-2009 |
11:54 |
.NET framework 2.0 สำหรับ Windows Vista, Windows Server 2008, x64 รุ่น
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
3,008,512 |
10-Sep-2009 |
11:54 |
.NET framework 2.0 สำหรับ Windows Vista, Windows Server 2008 รุ่น IA 64
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
---|---|---|---|---|
System.data.dll |
2.0.50727.4400 |
3,234,816 |
10-Sep-2009 |
11:54 |
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ ใช้หนึ่งในวิธีต่อไปนี้
วิธีที่ 1
แก้ไขแพคเกจ SSIS เมื่อต้องการตั้งค่าคอนฟิกข้อผิดพลาดและการเปลี่ยนเส้นทางการตัดทอน บนแหล่งมาของ DataReader หรือแหล่งข้อมูล ADO.NET ที่มีการจัดการ หลังจากที่คุณแก้ไขการแพคเกจ SSIS เมื่อต้องการแสดงผลข้อผิดพลาดในการเปลี่ยนเส้นทางไปยังปลายทาง แพคเกจจะทำงานได้สำเร็จแม้ว่าจะไม่มีแถวจะถูกเขียนไปยังปลายทาง เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
หมายเหตุ ขั้นตอนต่อไปนี้อนุมานว่า คุณกำลังใช้แพคเกจ SSIS 2005 ของเซิร์ฟเวอร์ SQL ที่อ่านข้อมูลจากแหล่ง DataReader-
เปิดแพคเกจ SSIS ใน SQL Server Business Intelligence Development Studio
-
เปิดกล่องโต้ตอบตัวแก้ไขขั้นสูงสำหรับแหล่ง DataReaderในตัวออกแบบกระแสข้อมูล
-
คลิกแท็บป้อนข้อมูลและคุณสมบัติการแสดงผลและจากนั้น ขยายโหนDataReader ผลลัพธ์ในแผนภูมิการป้อนข้อมูลและแสดงผลลัพธ์
-
ขยายโหนดคอลัมน์ผลลัพธ์
-
คลิกคอลัมน์แต่ละคอลัมน์ภายใต้โหนดคอลัมน์ผลลัพธ์และจากนั้น ตรวจสอบคุณสมบัติของชนิดข้อมูล สำหรับแต่ละคอลัมน์ คุณสมบัติที่มีชนิดข้อมูลเป็น DT_WSTR, DT_NTEXT, DT_BYTES หรือ DT_IMAGE แก้ไขคุณสมบัติสองประการต่อไปนี้:
-
ตั้งค่าคุณสมบัติErrorRowDispositionเป็นRD_RedirectRow
-
ตั้งค่าคุณสมบัติTruncationRowDispositionเป็นRD_RedirectRow
-
-
คลิกตกลงเพื่อบันทึกการเปลี่ยนแปลง
-
ในตัวออกแบบกระแสข้อมูล เพิ่มปลายทางใหม่ ตัวอย่างเช่น เพิ่มแบนแฟ้มปลายทางหรือปลายทางเป็น SQL Server
-
ใช้ลูกศรสีแดงจากแหล่งมาของ DataReader เพื่อเชื่อมต่อไปยังปลายทางที่เพิ่งเพิ่มเข้าไป การดำเนินการนี้จะนำแถวข้อผิดพลาดและการตัดทอนแถวไปยังปลายทางเพื่อที่จะบันทึกแถวข้อผิดพลาด
-
ทำซ้ำขั้นตอนที่ 1 ถึง 8 สำหรับภารกิจทั้งหมดกระแสข้อมูลที่ ODBC เข้าถึงสตริงหรือรูปคอลัมน์และที่ล้มเหลว ด้วยข้อผิดพลาดที่กล่าวถึงในส่วน "อาการ"
วิธีที่ 2
ถอนการติดตั้ง SP2 .NET Framework 2.0 หรือแบบ SP1 Framework 3.5 .NET อย่างไรก็ตาม เราไม่แนะนำให้ คุณถอนการติดตั้งเซอร์วิสแพ็คเนื่องจากนี้ sacrifices ความน่าเชื่อถือ ปรับปรุงคุณลักษณะ และเพิ่มประสิทธิภาพสูงสุดที่มี service pack
เมื่อต้องการคืนค่าระบบของคุณไปยังสถานะที่เคยเป็นก่อนที่คุณติดตั้งแบบ SP2 .NET Framework 2.0 หรือแบบ SP1 .NET Framework 3.5 ให้ทำตามขั้นตอนเหล่านี้:-
ในแผงควบคุม คลิกสองครั้งที่เพิ่มหรือเอาโปรแกรมออก
-
ค้นหาตำแหน่งของ Microsoft .NET Framework 3.5 SP1 และถอนการติดตั้งดังกล่าว
-
ค้นหาตำแหน่งของ Microsoft .NET Framework 3.0 SP2 และถอนการติดตั้งดังกล่าว
-
ค้นหาตำแหน่งของ Microsoft .NET Framework 2.0 SP2 และถอนการติดตั้งดังกล่าว
-
ติดตั้งรุ่น 3.5 กรอบงาน.NET เดิม ขั้นตอนนี้จะติดตั้งแบบ SP1 .NET Framework 2.0 และแบบ SP1 .NET Framework 3.0 เพื่อขอรับ 3.5 กรอบงาน.NET แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
วิธีที่ 3
ติดต่อผู้จำหน่ายโปรแกรมควบคุม ODBC อื่นเพื่อตรวจสอบว่า ผู้จัดจำหน่ายที่มีการปรับปรุงสำหรับโปรแกรมควบคุมที่จะแก้ไขปัญหานี้
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"