115

[INFORMATION_SCHEMA].[TABLES]ビューにアクセスする UDF を作成しました。

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

Visual Studio 内では、ビューのスキーマと名前の両方に警告が表示されます。

SQL71502: 関数: [dbo].[CountTables] にオブジェクト [INFORMATION_SCHEMA].[TABLES] への未解決の参照があります。

問題なくデータベース プロジェクトを発行でき、UDF は正しく実行されているようです。IntelliSense がビューの名前を入力してくれるので、問題はないようです。

このビューの代わりに使用するように実装を変更しようとしましたsys.objectsが、このビューでも同じ警告が表示されました。

この警告を解決するにはどうすればよいですか?

4

4 に答える 4

208

へのデータベース参照を追加master:

  1. プロジェクトの下で、 [参照設定] を右クリックします。
  2. データベース参照の追加... を選択します。
  3. [システム データベース] を選択します。
  4. マスターが選択されていることを確認します。
  5. OKを押します。

VS の更新には時間がかかる場合があることに注意してください。

于 2013-08-07T06:59:33.077 に答える
3

サムが言ったことは、これを行うための最良の方法です。
ただし、その特定の場所にその参照がないマシンから dacpac を展開する必要があるシナリオがある場合は、問題が発生する可能性があります。もう 1 つの方法は、.project ファイルを開いて、false実行しようとしているビルド構成の値が次のタグにあることを確認することです。

<TreatTSqlWarningsAsErrors>false</TreatTSqlWarningsAsErrors>

この方法では、プロジェクトへの参照を追加する必要はありません。

于 2014-01-27T20:05:29.287 に答える