TFS에 던지려는 데이터베이스를 실행하는 SQL Server 2008이 있습니다. 따라서 DB를 가져온 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) 근처의 구문이 잘못되었습니다.
추가 시도
나는 arround를 조금 피하고 따옴표 붙은 식별자를 사용하거나 사용하지 않고 다음을 시도했습니다.
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를 사용했습니다)