กลับมาแล้วครับ Write Back to Link Server

ขออภัย สำหรับ หายไปนานเลย ครับ Project เริ่มเป็นรูปเป็น ร่างแล้ว เลยพอมีเวลามานั่งเขียน Blog

ที่ผ่านมาเล่าแต่เรื่อง Select ข้อมูลจาก Link Server คราวนี้ ขอ เล่า การ Update, Insert, Delete บ้างครับ
ที่เจอมา คือ หลังจากสร้าง Link Server ไปที่ Informix แล้ว ดึงข้อมูลได้ แต่ถ้า จะทำการ Update, Insert, Delete จะต้องเข้าไป Set ค่าบางอย่าง ที่ Link Server ครับ

คือ เปิด SQL Management Studio -> Server Objects -> Linked Server -> Providers -> เลือก Provider ที่ใช้ (ของผม ผ่าน ODBC เลือำ MSDASQL)

Click ขวาเลือก Properties แล้ว ทำการ
Enable : Allow inprocess
Enable : Non transacted updates

แล้ว กด Ok

จากนั้นทำการ ทดสอบ Insert, Delete ดู ด้วย Command ดังนี้

INSERT INTO OPENQUERY([link_server],'select col1, col2, col3 from table1')
VALUES (1,2,3);

DELETE FROM OPENQUERY([link_server],'select col1, col2, col3 from table1')
WHERE col1=1;

ส่วน Command Update นั้น ผมทำการ ทดสอบแล้ว ไม่สามารถ Update ได้ครับ
จะ Error ประมาณ Server: Msg 7399, Level 16, State 1, ...

กรณี ถ้า จะ update อาจต้องใช้วิธี Delete แล้ว insert ใหม่ครับ
ถ้าผมหาวิธีที่ดีกว่านี้ได้ จะมา update อีกครั้งครับ

ความคิดเห็น

  1. สอบถ่ามหน่อยครับ คำสั่ง insert ของผมลองใช้แล้วเกิดอาการช้า มากครับ 40s ช้าไปรึเปล่าครับ

    ตอบลบ

แสดงความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ปัญหาเด็ก กลืน ดินน้ำมัน

ปัญหา Custom Paper Size บน Crystal Report

Function Baht Text บน Crystal Report