อาการ
คุณเรียกใช้โปรแกรมประยุกต์ที่ใช้ตัวให้บริการที่มีจัดการสำหรับ DB2 ที่รวมอยู่ใน Microsoft 2013 เซิร์ฟเวอร์การรวมของโฮสต์ เมื่อคุณพยายามที่จะส่งผ่านพารามิเตอร์ที่ไม่ได้ระบุค่าMsDb2Typeหรือ เมื่อมีใช้ค่าไม่ถูกต้อง ผลลัพธ์ไม่ถูกต้องจะถูกส่งผ่านไปยังตาราง DB2
หมายเหตุ ตัวอย่างเช่น ปัญหานี้เกิดขึ้นในตัวอย่างรหัสต่อไปนี้:
Dim Test As Decimal = 12.1234param.MsDb2Type = MsDb2Type.Int
param.Value = Test
MyCommand.Parameters.Add(param)
หมายเหตุ แม้ว่าเป็นชนิดข้อมูลที่ไม่ถูกต้องถูกระบุไว้ โดยผู้ให้บริการที่มีจัดการสำหรับ DB2 ค่าจะถูกส่งผ่านไปยังตาราง DB2
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากผู้ให้บริการที่มีจัดการสำหรับ DB2 ดำเนินการตรวจสอบโดยไม่คำนึงถึงว่ามีป้อนค่าได้อย่างถูกต้อง หรือไม่ถูกต้อง หรือไม่จะป้องกันไม่ให้ค่าที่ไม่ถูกต้องถูกส่งผ่านไปยัง DB2
การแก้ปัญหา
ข้อมูลการปรับปรุงสะสม
การแก้ไขที่แก้ไขปัญหานี้จะรวมอยู่ในการปรับปรุงสะสม 2 2013 เซิร์ฟเวอร์รวมโฮสต์
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"