ฉันมี SQL Server 2008 ที่ใช้ฐานข้อมูลที่ฉันต้องการจะโยนใน TFS ดังนั้นฉันจึงใช้โครงการฐานข้อมูล Visual Studio 2013 ที่ฉันนำเข้าฐานข้อมูล หลังจากแก้ไขข้อผิดพลาดจำนวนมากฉันติดอยู่กับข้อผิดพลาดเดียวที่เหลืออยู่:
ในมุมมองหนึ่ง devs ที่ใช้OPENQUERY
ในการเข้าถึงเซิร์ฟเวอร์ที่เชื่อมโยง ดังนั้นฉันจึงนำเข้า DACPAC ซึ่งมีฐานข้อมูลที่ถูกต้องและเพิ่มเข้าไปในโครงการโดยใช้Add Database Reference
ตัวเลือกการอ้างอิงต่อไปนี้
เวอร์ชันสคริปต์เริ่มต้น
นี่คือเวอร์ชันที่สั้นกว่าของการสร้างมุมมองดั้งเดิม:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
นำไปสู่ข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาด 136 SQL71501: มุมมอง: [dbo]. [vwStatus] มีการอ้างอิงที่ไม่ได้แก้ไขไปยังวัตถุ [LinkedServer]
ความพยายามครั้งแรก
ดังนั้นฉันจึงพยายามแทรกตัวแปรชื่อเซิร์ฟเวอร์
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
ซึ่งนำไปสู่
ข้อผิดพลาด 176 SQL46010: ไวยากรณ์ไม่ถูกต้องใกล้กับ $ (LinkedServer)
ความพยายามเพิ่มเติม
ฉันเล่นซอนิด ๆ หน่อย ๆ และลองต่อไปนี้ (มีและไม่มีการเปิดใช้ตัวระบุที่อ้างถึง):
FROM OPENQUERY("$(LinkedServer)", 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY([$(LinkedServer)], 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY([LinkedServer], 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY("LinkedServer", 'SELECT * FROM [DB].[dbo].tbStatus') AS
ฉันมักจะได้รับข้อผิดพลาด
ฉันไม่มีเงื่อนงำสิ่งที่ฉันมองเห็นที่นี่ คุณ ขอบคุณที่สละเวลา!
(น่าเศร้าที่ฉันไม่สามารถเพิ่มแท็ก visual-studio-2013 ดังนั้นฉันจึงใช้ visual-studio)