ข้อความแสดงข้อผิดพลาดการแก้ไข: เมื่อคุณเรียกใช้คำสั่ง SQL ที่ โดยใช้ผู้ OLE DB ให้สำหรับ DB2: "SQLSTATE 22007, SQLCODE-181"

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 924599 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

พิจารณาสถานการณ์ต่อไปนี้: คุณสามารถรันคำสั่ง SQL ที่ โดยใช้ผู้ Microsoft OLE DB ให้สำหรับ DB2 คำสั่ง SQL ส่งผ่าน Microsoft SQL Serverdatetimeพารามิเตอร์เพื่อเพิ่มคอลัมน์ของฐานข้อมูล IBM DB2 ในคอลัมน์ของฐานข้อมูล IBM DB2 ใช้ IBM DB2วันที่ชนิดข้อมูล: ในสถานการณ์สมมตินี้ คุณอาจได้รับข้อความแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้:
22007 sqlstate: sqlcode: -181
ตัวอย่างเช่น ที่คำสั่ง SQL ต่อไปนี้ส่งผ่าน SQL Serverdatetimeพารามิเตอร์เพื่อเพิ่มคอลัมน์ของฐานข้อมูล IBM DB2
declare @var1 datetime
set @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1
ในตัวอย่างนี้ ปัญหานี้เกิดขึ้นหากการcol2คอลัมน์ที่ใช้ IBM DB2วันที่ชนิดข้อมูล:

สาเหตุ

เมื่อรันไทม์ ผู้ OLE DB ให้สำหรับ DB2 ไม่รู้จักชนิดข้อมูล IBM DB2 ที่ถูกต้องสำหรับคอลัมน์ฐานข้อมูลของ IBM DB2 ที่ SQL Serverdatetimeพารามิเตอร์ถูกส่งผ่าน ดังนั้น ผู้ OLE DB ให้สำหรับ DB2 มีข้อมูลวันที่และข้อมูลเวลาในค่าที่ผู้ OLE DB ให้สำหรับ DB2 ส่งผ่านไปยังฐานข้อมูล IBM DB2 ข้อมูลเวลาที่ไม่ถูกต้องสำหรับ IBM DB2วันที่ชนิดข้อมูล: ดังนั้น คุณได้รับข้อความแสดงข้อผิดพลาดที่กล่าวไว้ในส่วน "อาการ"

การแก้ไข

เซิร์ฟเวอร์การรวมแอพลิโฮสต์ Microsoft 2006

เมื่อต้องการแก้ไขปัญหานี้ ขอรับ service pack ล่าสุดสำหรับปี 2549 เซิร์ฟเวอร์การรวมของโฮสต์ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
979497วิธีการขอรับ service pack ล่าสุดของปี 2549 เซิร์ฟเวอร์การรวมของโฮสต์

เซิร์ฟเวอร์การรวมแอพลิโฮสต์ Microsoft 2004

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

หากมีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" อยู่ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น โปรดติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support
หมายเหตุ:แบบฟอร์ม "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ หากคุณไม่เห็นภาษาของคุณ เป็นเพราะไม่มีโปรแกรมแก้ไขด่วนสำหรับภาษานั้น

ข้อมูลแฟ้ม

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์แฟ้มหลังจากนี้) ซึ่งแสดงในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในรายการวันและเวลาใน'แผงควบคุม'
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์มความต้องการพิเศษ
Db2oledb.dll6.0.2048.0488,96003 2006 พฤศจิกายน17:31x86SP1
Db2oledb.hไม่สามารถใช้งานได้24,57903 2006 พฤศจิกายน17:36ไม่สามารถใช้งานได้SP1
Ddmstr.dll6.0.2048.044,03203 2006 พฤศจิกายน17:31x86SP1
Drdaresync.exe6.0.2048.0337,40803 2006 พฤศจิกายน17:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603 2006 พฤศจิกายน17:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003 2006 พฤศจิกายน17:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803 2006 พฤศจิกายน17:31x86SP1
Mseidb2c.dll6.0.2048.071,68003 2006 พฤศจิกายน17:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003 2006 พฤศจิกายน17:31x86SP1
Mseidrda.dll6.0.2048.0695,80803 2006 พฤศจิกายน17:32x86SP1
หมายเหตุ:เนื่องจากการอ้างอิงแฟ้ม โปรแกรมแก้ไขด่วนที่สุดที่ประกอบด้วยแฟ้มเหล่านี้อาจประกอบด้วยแฟ้มเพิ่มเติม

ผู้ Microsoft OLE DB ให้ DB2 รุ่น 1.0

โปรแกรมแก้ไขด่วนที่ได้รับการสนับสนุนจาก Microsoft พร้อมใช้งานแล้ว อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีเป้าหมายเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำโปรแกรมแก้ไขด่วนนี้ไปใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น หากคุณไม่ได้รับความเสียหายรุนแรงจากปัญหานี้ เราขอแนะนำให้คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่มีโปรแกรมแก้ไขด่วนนี้

หากมีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" อยู่ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น โปรดติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน

หมายเหตุ:หากเกิดปัญหาอื่น ๆ หรือ ถ้ามีการแก้ไขปัญหาเป็นสิ่งจำเป็น คุณอาจต้องสร้างการร้องขอบริการแยกต่างหาก ค่าใช้จ่ายในการสนับสนุนปกติจะเกิดขึ้นเมื่อมีคำถามและประเด็นการสนับสนุนอื่นๆ ซึ่งไม่จัดอยู่ในโปรแกรมแก้ไขด่วนเฉพาะที่กล่าวถึงนี้ สำหรับรายการของหมายเลขโทรศัพท์ของฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft ทั้งหมด หรือถ้าต้องการสร้างคำขอรับการสนับสนุนแยกต่างหาก โปรดเข้าสู่เว็บไซต์ของ Microsoft ต่อไปนี้::
http://support.microsoft.com/contactus/?ws=support
หมายเหตุ:แบบฟอร์ม "โปรแกรมแก้ไขด่วนพร้อมดาวน์โหลด" แสดงภาษาในโปรแกรมแก้ไขด่วนมีอยู่ หากคุณไม่เห็นภาษาของคุณ เป็นเพราะไม่มีโปรแกรมแก้ไขด่วนสำหรับภาษานั้น

ข้อมูลแฟ้ม

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษนี้มีแอตทริบิวต์แฟ้ม (หรือแอตทริบิวต์แฟ้มหลังจากนี้) ซึ่งแสดงในตารางต่อไปนี้ วันที่และเวลาของแฟ้มเหล่านี้จะปรากฏในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ข้อมูลจะถูกแปลงเป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้โซนเวลาแท็บในรายการวันและเวลาใน'แผงควบคุม'
รุ่น 32 บิต (x 86)
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์มความต้องการพิเศษ
Db2oledb.dll6.0.2048.0488,96003 2006 พฤศจิกายน17:31x86SP1
Db2oledb.hไม่สามารถใช้งานได้24,57903 2006 พฤศจิกายน17:36ไม่สามารถใช้งานได้SP1
Ddmstr.dll6.0.2048.044,03203 2006 พฤศจิกายน17:31x86SP1
Drdaresync.exe6.0.2048.0337,40803 2006 พฤศจิกายน17:32x86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086,01603 2006 พฤศจิกายน17:31x86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003 2006 พฤศจิกายน17:32x86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114,68803 2006 พฤศจิกายน17:31x86SP1
Mseidb2c.dll6.0.2048.071,68003 2006 พฤศจิกายน17:31x86SP1
Mseidb2d.dll6.0.2048.0435,20003 2006 พฤศจิกายน17:31x86SP1
Mseidrda.dll6.0.2048.0695,80803 2006 พฤศจิกายน17:32x86SP1
รุ่น 64 บิต (x64)
ยุบตารางนี้ขยายตารางนี้
ชื่อแฟ้มรุ่นของแฟ้มขนาดแฟ้มวันที่เวลาแพลทฟอร์มสาขาบริการ
Db2oledb.dll7.0.2535.0758,54407 2006 พฤศจิกายน12:34x64ไม่สามารถใช้งานได้
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607 2006 พฤศจิกายน12:34x64ไม่สามารถใช้งานได้
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007 2006 พฤศจิกายน12:34x64ไม่สามารถใช้งานได้
Mseidrda.dll7.0.2535.01,355,53607 2006 พฤศจิกายน12:34x64ไม่สามารถใช้งานได้
Snanls.dll7.0.2535.0128,77607 2006 พฤศจิกายน12:34x64ไม่สามารถใช้งานได้
Db2oledb.dll7.0.2535.0516,88007 2006 พฤศจิกายน12:34x86syswow
Mseidrda.dll7.0.2535.0781,07207 2006 พฤศจิกายน12:34x86syswow
Snanls.dll7.0.2535.0105,22407 2006 พฤศจิกายน12:34x86syswow
หมายเหตุ:เนื่องจากการอ้างอิงแฟ้ม โปรแกรมแก้ไขด่วนที่สุดที่ประกอบด้วยแฟ้มเหล่านี้อาจประกอบด้วยแฟ้มเพิ่มเติม

สถานะ

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

ข้อมูลเพิ่มเติม

โปรแกรมแก้ไขด่วนนี้เพิ่มการสนับสนุนสำหรับคุณสมบัติสายอักขระการเชื่อมต่อใหม่ โดยใช้คุณสมบัติสตริงการเชื่อมต่อใหม่ คุณสามารถส่งต่อ SQL Serverdatetimeพารามิเตอร์ฐานข้อมูลการ IBM DB2 เป็น IBM DB2วันที่ชนิดข้อมูล: ผู้ ole DB ให้สำหรับ DB2 ลบข้อมูลเวลาในค่าของ SQL Serverdatetimeพารามิเตอร์ ส่ง ดังนั้น ผู้ OLE DB ให้สำหรับ DB2 ผ่านเฉพาะข้อมูลวันที่ในฐานข้อมูล IBM DB2

คุณสมบัติสตริงการเชื่อมต่อใหม่มีคำนิยามดังต่อไปนี้:
DateTime เป็นวัน =ค่า
ในคุณสมบัติสตริงการเชื่อมต่อนี้ คุณสามารถกำหนดค่าเป็นTrueหรือเป็นเท็จ. ถ้าคุณเพิ่มDateTime เป็นวัน = TRUEใบแจ้งยอดจากสายอักขระเชื่อมต่อ ผู้ OLE DB ให้สำหรับ DB2 แปลง SQL Serverdatetimeพารามิเตอร์การ IBM DB2วันที่ชนิดข้อมูล: ส่งแล้ว ผู้ OLE DB ให้สำหรับ DB2 ผ่านค่าไปยังฐานข้อมูล IBM DB2

ถ้าคุณเพิ่มDateTime เป็นวัน = FALSEใบแจ้งยอดจากสายอักขระเชื่อมต่อ ผู้ OLE DB ให้สำหรับ DB2 SQL Server ส่งผ่านdatetimeพารามิเตอร์ฐานข้อมูล IBM DB2 ตามที่คุณระบุในคำสั่ง SQL ส่งในกรณีนี้ ผู้ OLE DB ให้สำหรับ DB2 ผ่านข้อมูลวันที่และเวลาข้อมูลไปยังฐานข้อมูล IBM DB2

หมายเหตุ:ลักษณะการทำงานนี้มีลักษณะการทำงานเริ่มต้นถ้าคุณไม่ต้องเพิ่มDateTime เป็นวันคุณสมบัติการสายอักขระการเชื่อมต่อ

ตัวอย่างสายอักขระการเชื่อมต่อต่อไปนี้แสดงวิธีใช้นี้DateTime เป็นวันคุณสมบัติ
; Everything after this line is an OLE DB initialization string.
Provider=DB2OLEDB;Password=<Password>;Persist Security Info=True;User ID=<Username>;Initial Catalog=S105FRDM;Defer Prepare=False;Derive Parameters=False;Network Transport Library=TCP;Host CCSID=37;PC Code Page=1252;Network Address=<Address>;Network Port=446;Package Collection=DB2USER;Default Schema=DB2USER;Default Qualifier=DB2USER;DBMS Platform=DB2/AS400;Process Binary as Character=False;Connection Pooling=True;Units of Work=RUW;DateTime As Date=TRUE
สิ่งสำคัญหลัง จากที่คุณใช้โปรแกรมแก้ไขด่วนนี้เพิ่มการDateTime เป็นวัน = TRUEคำสั่งให้สายอักขระการเชื่อมต่อ คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
22007 sqlstate: sqlcode: -180
ปัญหานี้เกิดขึ้นถ้าคอลัมน์ของฐานข้อมูล IBM DB2 IBM DB2 ที่ใช้ระบุเวลาชนิดข้อมูล: ปัญหานี้เกิดขึ้นเนื่องจากฐานข้อมูลของ IBM DB2 expects เพื่อรับข้อมูลวันที่และข้อมูลเวลาเมื่อมีการส่งผ่านไปยังคอลัมน์ฐานข้อมูลการ IBM DB2 ที่ใช้ IBM DB2 แบบสอบถามระบุเวลาชนิดข้อมูล: กระบวนการDateTime เป็นวัน = TRUEคำสั่งทำให้ผู้ OLE DB ให้สำหรับ DB2 เพื่อลบข้อมูลเวลาในค่าของ SQL Serverdatetimeพารามิเตอร์ ดังนั้น ข้อมูลไม่ถูกต้องเมื่อมีการส่งผ่านไปยังคอลัมน์ฐานข้อมูล IBM DB2 ที่ใช้ IBM DB2 แบบสอบถามระบุเวลาชนิดข้อมูล:

ถ้าคุณต้องสอบถามมีตาราง IBM DB2 ที่ใช้ IBM DB2วันที่ชนิดข้อมูลและ IBM DB2ระบุเวลาชนิดของข้อมูล คุณอาจจำเป็นต้องใช้สตริงการเชื่อมต่อหลายที่มีการกำหนดค่าให้ใช้คุณสมบัติที่ถูกต้อง สอบถามแล้ว คุณสามารถสมบูรณ์เกี่ยวกับข้อมูลชนิดต่าง ๆ ของ IBM DB2

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft
ผลิตภัณฑ์ของบุคคลที่สามที่กล่าวถึงในบทความนี้ ผลิตขึ้นโดยบริษัทที่ไม่ขึ้นอยู่กับ Microsoft Microsoft ไม่รับประกัน ทั้งโดยนัยหรืออย่างอื่นใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้

คุณสมบัติ

หมายเลขบทความ (Article ID): 924599 - รีวิวครั้งสุดท้าย: 12 ตุลาคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Host Integration Server 2006 Enterprise Edition
  • Microsoft Host Integration Server 2006
  • Microsoft Host Integration Server 2004 Enterprise Edition
  • Microsoft Host Integration Server 2004 Standard Edition
Keywords: 
kbautohotfix kbdb2oledb kbhis2004 kbfix kbbug kbHotfixServer kbqfe kbmt KB924599 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:924599

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com