อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
ใน Microsoft โฮสต์รวมเซิร์ฟเวอร์ 2013 คุณตั้งค่าคอนฟิกตาราง DB2
-
ตารางประกอบด้วยคอลัมน์ประทับเวลาที่มีค่าเป็นเวลา 24:00:00
-
คุณพยายามเลือกคอลัมน์ประทับเวลา โดยใช้ตัวให้บริการ OLEDB สำหรับ DB2
ในสถานการณ์สมมตินี้ คำขอล้มเหลว และส่งกลับข้อยกเว้นต่อไปนี้:
System.ArgumentOutOfRangeException ไม่ได้จัดการ: HResult =-2146233086
ข้อความ =ชั่วโมง นาที และวินาที DateTime representable ยังไม่ได้มีอธิบายพารามิเตอร์
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากค่าเวลา 24:00:00 ไม่ถูกต้องใน Microsoft SQL Server
การแก้ปัญหา
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้การแก้ไขด่วนนี้กับระบบต่าง ๆ ที่พบปัญหาอธิบายไว้ในบทความนี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับผลกระทบจากปัญหานี้รุนแรง เราขอแนะนำให้ คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ติดต่อฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน
หมายเหตุถ้า ปัญหาอื่น ๆ เกิดขึ้น หรือถ้าการแก้ไขปัญหาใด ๆ ที่จำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก จะมีค่าใช้จ่ายในการสนับสนุนปกติกับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนเฉพาะนี้ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าและการสนับสนุนของ Microsoft หรือเพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/default.aspx?scid=fh; [LN]; CNTACTMS
หมายเหตุ แบบฟอร์ม "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
ข้อกำหนดเบื้องต้น
คุณต้องมีการปรับปรุงสะสม 2 สำหรับ Microsoft โฮสต์รวมเซิร์ฟเวอร์ 2013 ติดตั้งอยู่เพื่อใช้โปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจการปรับปรุงสะสม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
แพคเกจโปรแกรมปรับปรุงสะสม 2929767 2 2013 เซิร์ฟเวอร์รวมโฮสต์
ข้อมูลการปรับปรุงสะสม
การแก้ปัญหานี้จะรวมอยู่ในแพ็คเกจการปรับปรุงสะสม 3 2013 เซิร์ฟเวอร์รวมโฮสต์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับการสะสมปรับปรุงแพคเกจ ดูCumulative 3 2013 เซิร์ฟเวอร์รวมโฮสต์ของแพคเกจการปรับปรุง
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถแปลค่าในคอลัมน์ Timestamp เป็นข้อความ เมื่อต้องการทำเช่นนี้ คุณต้องตั้งค่าพารามิเตอร์สายอักขระการเชื่อมต่อวันที่และเวลาเป็นอักขระเป็นTrue ตัวอย่าง ตั้งค่าสายอักขระนี้เป็นดังนี้:
วันที่และเวลาเป็นอักขระ = True
ข้อมูลเพิ่มเติม
ถ้าค่าในคอลัมน์ Timestamp ชั่วโมงเป็น24:00การปรับปรุงจากรูปแบบ DB2 ไปเป็นรูปแบบ MSSQL สร้างการขึ้นค่าตอบแทนวันเดียว ตัวอย่างเช่น ค่าของ "2015-08-26-24.00.00.000000" ทางด้าน DB2 ถูกปรับปรุงเป็น "2015-08-27-00.00.00.000000" ทางด้าน MSSQL
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"