TFS atmak istiyorum bir veritabanı çalışan bir SQL Server 2008 var. Bu nedenle DB ithal ettiğim bir Visual Studio 2013 veritabanı projesi kullandım. Bir grup hatayı düzelttikten sonra sadece bir hata kaldı:
Bir görünümde OPENQUERY
bağlantılı bir sunucuya erişmek için kullanılan geliştiriciler . Bu yüzden doğru veritabanını içeren bir DACPAC'ı içe aktardım Add Database Reference
ve aşağıdaki referans seçeneklerini kullanarak projeye ekledim .
İlk Komut Dosyası Sürümü
Orijinal görünüm oluşturma işleminin daha kısa bir sürümü:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Bu, aşağıdaki hataya yol açar:
Hata 136 SQL71501: Görünüm: [dbo]. [VwStatus], [LinkedServer] nesnesine çözümlenmemiş bir başvuruya sahip.
İlk girişim
Bu yüzden sunucu adı değişkenini eklemeye çalıştım
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Hangi yol açar
Hata 176 SQL46010: $ (LinkedServer) yakınında yanlış sözdizimi.
Diğer Girişimler
Biraz uğraştım ve aşağıdakileri denedim (alıntılanmış tanımlayıcılar etkinleştirilip etkinleştirilmeden):
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
Her zaman bir hata alıyorum.
Burada göz ardı ettiğim hakkında hiçbir fikrim yok. Yapıyor musun? Zaman ayırdığınız için teşekkürler!
(Ne yazık ki visual-studio-2013 etiketini ekleyemiyorum, bu yüzden visual-studio kullandım)