KB2563924 - การแก้ไข: ข้อผิดพลาด "สตรีมโพรโทคอลสตรีมข้อมูลแบบตาราง (TDS) ขาเข้าไม่ถูกต้อง" เมื่อฟังก์ชัน SQLPutData แทรกค่า SQL_NULL_DATA ใน TVP ใน SQL Server 2008 R2

นำไปใช้กับ
SQL Server 2008 R2

Microsoft กระจายการแก้ไข Microsoft SQL Server 2008 R2 เป็นไฟล์ที่สามารถดาวน์โหลดได้ไฟล์เดียว เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละครั้งจะมีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 R2 ก่อนหน้า

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณมีคอมพิวเตอร์ที่กําลังเรียกใช้ Microsoft SQL Server 2008 R2
  • คุณเรียกใช้โปรแกรมประยุกต์ไคลเอ็นต์ที่ใช้ SQL Server 2008 R2 Native Client ODBC โปรแกรมควบคุมเพื่อผูกพารามิเตอร์ค่าตารางเป็นคอลัมน์ข้อมูลที่ดําเนินการ
  • แอปพลิเคชันไคลเอ็นต์เรียกฟังก์ชัน SQLPutData เพื่อเปลี่ยนพารามิเตอร์ที่มีค่าตารางเป็นค่า SQL_NULL_DATA

ในสถานการณ์สมมตินี้ แอพลิเคชันไคลเอ็นต์ไม่เรียกฟังก์ชัน SQLPutData และคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

หมายเหตุ

[28000] - [Microsoft][SQL Server Native Client 10.0][SQL Server]สตรีมโพรโทคอลสตรีมข้อมูลแบบตาราง (TDS) ขาเข้าไม่ถูกต้อง กระแสข้อมูลสิ้นสุดลงโดยไม่คาดคิด

      

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากโปรแกรมควบคุม ODBC ไม่ส่งความยาวข้อมูลของค่า SQL_NULL_DATA ไปยังพารามิเตอร์ค่าตาราง

การแก้ปัญหา

เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้การแก้ไขต่อไปนี้บนคอมพิวเตอร์ที่ติดตั้งไคลเอ็นต์ในระบบ SQL Server 2008 R2

ข้อมูลการอัปเดตสะสม

SQL Server 2008 R2 Service Pack 1

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 1 สําหรับ SQL Server 2008 R2 Service Pack 1 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมนี้

2544793 แพคเกจการอัปเดตสะสม 1 สําหรับ SQL Server 2008 R2 Service Pack 1Note เนื่องจากรุ่นต่างๆ เป็นแบบสะสม แต่ละการเผยแพร่การแก้ไขใหม่จะมีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่กับการเผยแพร่การแก้ไข 2008 R2 SQL Server ก่อนหน้านี้ เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สําหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

2567616 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเผยแพร่ SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 8 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2534352 แพคเกจการอัปเดตสะสม 8 สําหรับ SQL Server 2008 R2 หมายเหตุเนื่องจากรุ่นเป็นแบบสะสม แต่ละการเผยแพร่การแก้ไขใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่กับการเผยแพร่การแก้ไข 2008 R2 SQL Server ก่อนหน้านี้ เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สําหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

981356 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเผยแพร่ SQL Server 2008 R2

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การอ้างอิง

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน SQLPutData แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับฟังก์ชัน SQLPutData
        
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คอลัมน์ data-at-execution แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

วิธีใช้คอลัมน์ data-at-execution สําหรับข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ค่าตาราง แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

ข้อมูลทั่วไปเกี่ยวกับพารามิเตอร์ที่มีค่าตาราง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการให้บริการแบบเพิ่มเติมสําหรับ SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

935897 รูปแบบการให้บริการแบบเพิ่มเติมพร้อมใช้งานจากทีม SQL Server เพื่อส่งโปรแกรมแก้ไขด่วนสําหรับปัญหาที่รายงาน

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบแผนการตั้งชื่อสําหรับการปรับปรุง SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

822499 แบบแผนการตั้งชื่อใหม่สําหรับแพคเกจการอัปเดตซอฟต์แวร์ของ Microsoft SQL Server สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําศัพท์เฉพาะของการอัปเดตซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

824684 คําอธิบายเกี่ยวกับคําศัพท์มาตรฐานที่ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์ของ Microsoft