โปรดดูคำถามนี้ใน stackoverflow:
ฉันใช้ไดรเวอร์ EasySoft ODBC เพื่อเชื่อมโยงอินสแตนซ์ของ SQL Server 2008 R2 Express ไปยัง Interbase และฉันประสบปัญหาในการรับข้อมูลเมตาจากเซิร์ฟเวอร์ระยะไกล จากการมองหาบนเครือข่าย sugestions หลักทั้งหมดพูดถึงการใช้ OPENQUERY แทนไวยากรณ์เซิร์ฟเวอร์ที่เชื่อมโยงสี่ส่วน
EG วิธีการปัจจุบันของฉัน (มีปัญหา) คือ ...
CREATE VIEW [LIVE].[vwPRDETS] AS SELECT * FROM [LBLIVE]...[PRDETS] WITH (NOLOCK)แต่ในบางตารางฉันได้รับข้อผิดพลาดเมื่อเรียกดู ...
ข่าวสารเกี่ยวกับ 7353 ระดับ 16 สถานะ 1 บรรทัด 1 ตัวให้บริการ OLE DB "MSDASQL" สำหรับเซิร์ฟเวอร์ที่เชื่อมโยง "LBLIVE" ที่ให้ข้อมูลเมตาที่ไม่สอดคล้องกัน มีการระบุคอลัมน์พิเศษในระหว่างการดำเนินการที่ไม่พบในเวลารวบรวม
นอกจากนี้บางมุมมองที่ฉันไม่สามารถสร้างได้เพราะฉันได้รับสิ่งต่อไปนี้ ...
ข่าวสารเกี่ยวกับ 7315 ระดับ 16 สถานะ 1 บรรทัด 1 ตัวให้บริการ OLE DB "MSDASQL" สำหรับเซิร์ฟเวอร์ที่เชื่อมโยง "LBLIVE" ประกอบด้วยหลายตารางที่ตรงกับชื่อ "" SYSDBA "" AUDIT_LBABKP "
แม้ว่าจะมีเพียงตารางเดียวที่กล่าวมา
วิธีการอื่นในการค้นหาเน็ตดูเหมือนจะเป็นเหมือน ...
SELECT * FROM OPENQUERY(<linked sevrer>, 'SELECT <column list> FROM MyTable')ดังนั้นคำถามของฉันคือถ้าฉันใช้ OPENQUERY ในการกำหนดมุมมองของฉัน SQL Server จะสามารถเพิ่มประสิทธิภาพ SQL ผลลัพธ์ถูกส่งไปยัง Interbase? หรือไม่มีความแตกต่างระหว่างสองแนวทางจริงๆหรือ?
มันเป็นเรื่องที่ข้ามและจะรัก POV ของ DBA