У мене є SQL Server 2008 з базою даних, яку я хочу передати в TFS. Тому я використав проект бази даних Visual Studio 2013, куди імпортував БД. Після виправлення купи помилок у мене залишилася лише одна помилка:
З одного перегляду розробники, що використовуються 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, тому я використав візуальну студію)