복붙노트

[SQL] 오브젝트 [INFORMATION_SCHEMA]에서 확인할 수없는 기준. TABLES]

SQL

오브젝트 [INFORMATION_SCHEMA]에서 확인할 수없는 기준. TABLES]

나는 [INFORMATION_SCHEMA]를 액세스하는 UDF를 만들었습니다 [테이블] 볼 수 있습니다. :

CREATE FUNCTION [dbo].[CountTables]
(
    @name sysname
)
RETURNS INT
AS
BEGIN
    RETURN
    (
        SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
    );
END

비주얼 스튜디오 내에서 뷰에 대한 스키마 이름은 모두 경고가 표시되어 있습니다 :

나는 아직도 아무 문제없이 데이터베이스 프로젝트를 게시 할 수 있으며, UDF가 제대로 실행하는 것처럼 보인다. 그것으로 문제가있는 것처럼 보이지 않도록 인텔리는, 나를 위해 뷰의 이름을 채 웁니다.

나는 대신이보기의는 sys.objects를 사용하도록 구현을 변경했지만, 나는이보기에 대해 동일한 경고를 주어뿐만 아니라되었다.

어떻게하면이 경고를 해결할 수 있습니까?

해결법

  1. ==============================

    1.마스터에 대한 데이터베이스 참조를 추가합니다 :

    마스터에 대한 데이터베이스 참조를 추가합니다 :

    이 업데이트 VS의 시간이 걸릴 수 있습니다.

  2. ==============================

    2.우리의 프로젝트에서 우리는 이미 마스터에 대한 참조를 가지고 있지만, 우리는이 문제를 가지고 있었다. 여기에 우리가받은 오류 :

    우리의 프로젝트에서 우리는 이미 마스터에 대한 참조를 가지고 있지만, 우리는이 문제를 가지고 있었다. 여기에 우리가받은 오류 :

    SQL71502: Procedure: [Schema].[StoredProc1] has an unresolved reference to object [Schema].[Table1].[Property1].
    

    테이블 SQL 파일에 참조 오류를 해결하려면, 바로 속성을 클릭하고 BuildSettings이 빌드로 설정되어 있는지 확인합니다.

    그것을 고정 빌드 변경.

  3. ==============================

    3.어떤 샘이 말했다 것은이 작업을 수행하는 가장 좋은 방법입니다. 당신은 당신이 특정 위치에 해당 참조가없는 기계에서 dacpac을 배포해야하는 시나리오가있는 경우 그러나, 당신은 곤경에받을 수 있습니다. 또 다른 방법은 당신의 .project 파일을 열고 있는지 다음의 태그를 실행하려는 빌드 구성에 대한 거짓의 값을 가지고 있는지 확인하는 것입니다.

    어떤 샘이 말했다 것은이 작업을 수행하는 가장 좋은 방법입니다. 당신은 당신이 특정 위치에 해당 참조가없는 기계에서 dacpac을 배포해야하는 시나리오가있는 경우 그러나, 당신은 곤경에받을 수 있습니다. 또 다른 방법은 당신의 .project 파일을 열고 있는지 다음의 태그를 실행하려는 빌드 구성에 대한 거짓의 값을 가지고 있는지 확인하는 것입니다.

    <TreatTSqlWarningsAsErrors>false</TreatTSqlWarningsAsErrors>
    

    이 방법 당신은 당신의 프로젝트에 대한 참조를 추가 할 필요가 없습니다.

  4. from https://stackoverflow.com/questions/18096029/unresolved-reference-to-object-information-schema-tables by cc-by-sa and MIT license