ole db provider 'sqloledb' returned an unexpected data length for the fixed-length column '[AP].[ACI].[dbo].[V-PC1901].LineNumber ' .The expected data length is 3,while the returned data length is 6
คือรัน view ที่เรียกตารางจาก server AP ค่ะ ซึ่งเป็น server ที่ทำลิ้งค์ไว้ค่ะ จากนั้นก็จะใช้โพซีเยอร์ในการเก็บข้อมูลจาก view โดยใช้ vb.net ในการสั่งงานนะค่ะ
แล้วทีนี้ปัญหามันเกิดตอนใช้งานจริงกับเครื่อง AP ค่ะ มันจะฟ้อง error แบบข้างบนค่ะ
แต่ตอนที่ลองเทสในเครื่องตัวเองซึ่งเอาดาต้าเบส [ACI] มาสร้างในเครื่อง local ไว้ แล้วเรียกข้าม ดาต้าเบส เฉยๆมันก็รันได้ปกตินะค่ะ ไม่ทราบว่ามันเป็นเพราะอะไรคะ แล้วต้องแก้อย่างไรบ้างคะ รบกวนหน่อยค่ะ
อืมมม ไม่ทราบสาเหตุที่เกิดแล้วก็จำลองให้ด้วยไม่ได้ > <
ขอลองเดา นะคะจาก The expected data length is 3,while the returned data length is 6
Field ชื่อ LineNumber น่าจะเป็นตัวเลขไม่ก้อ varchar
ในกรณีตัวเลขลอง CAST ออกมาเป็น INT ก่อนดีปะคะ
หรือถ้าเป็น VARCHAR ก้อน่าจะตัดออก string ออกมาก่อน
อันนี้ เดา ล้วนๆค่ะ ลองๆดูกันไม่ไก็ให้พี่ๆผู้รู้มาแนะนำอีกทีค่ะ
ที่ต้องเรียกผ่านชื่อของ server ก็เพราะว่า ดาต้าเบสที่ต้องการมันอยู่คนละที่กับตัว appication ของเราค่ะ เวลาเราจะดึงข้อมูลบางส่วนมาใช้งานเราก็เลยต้องสร้าง link server ไว้ค่ะ
ปัญหานี้บางทีอาจแก้ไม่ได้ เพราะอาจเกิดจากข้อผิดพลาดที่เกี่ยวกับ Host Integration Server 2004
ซึ่งคืออะไรผมก็ไม่รู้เหมือนกัน
Quote:
I have also seen this issue and have not yet found a permanent fix for it. I did see something from Microsoft about this error but that deals with Host Integration Server 2004. That may be what is causing my issue even though my link server is another SQL Server. The original source of the data is coming from DB2. I am wondering if that somehow the error carries through....
I did seem to find a way to can get around the error. For the column with the issue, CONVERT it to something. In my case, with my column EmployeeType, I changed it to CONVERT(VARCHAR,EmployeeType) as [EmployeeType]. This allows me to get the data back as long as it is not used as part of the WHERE statements.
In case your issue is related to HIS2004, here is the link from Microsoft:
support.microsoft.com/kb/897246
Hope this helps!
Chad
เอาอากู๋แปลให้ได้ว่า
Quote:
ฉันได้เห็นด้วยเรื่องนี้และยังไม่พบการแก้ไข ถาวรของมัน ฉันได้เห็นสิ่งที่จาก Microsoft เกี่ยวกับข้อผิดพลาดนี้ แต่ที่เกี่ยวข้องกับ Host Integration Server 2004 ที่ อาจเป็นสิ่งที่ก่อให้เกิดปัญหาของฉันแม้ว่าเซิร์ฟเวอร์ของฉันลิงค์อื่น SQL Server ต้นฉบับเดิมของข้อมูลมาจาก DB2 ผมสงสัยว่าที่ใด ผิดพลาด carries ผ่าน ....