Saya telah membuat UDF yang mengakses [INFORMATION_SCHEMA].[TABLES]
tampilan:
CREATE FUNCTION [dbo].[CountTables]
(
@name sysname
)
RETURNS INT
AS
BEGIN
RETURN
(
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
);
END
Dalam Visual Studio, skema dan nama tampilan keduanya ditandai dengan peringatan:
SQL71502: Fungsi: [dbo]. [Tabel Hitung] memiliki referensi yang belum terselesaikan ke objek [INFORMATION_SCHEMA]. [TABLES].
Saya masih dapat mempublikasikan proyek database tanpa masalah, dan UDF tampaknya berjalan dengan benar. IntelliSense mengisi nama tampilan untuk saya, jadi sepertinya tidak ada masalah dengannya.
Saya juga mencoba mengubah implementasi untuk digunakan sys.objects
alih-alih tampilan ini, tetapi saya juga diberi peringatan yang sama untuk tampilan ini.
Bagaimana cara mengatasi peringatan ini?
Dalam proyek kami, kami sudah memiliki referensi ke master, tetapi kami mengalami masalah ini. Inilah kesalahan yang kami dapatkan:
Untuk mengatasi kesalahan referensi, pada file sql tabel, klik kanan properti dan verifikasi BuildSettings diatur ke Build.
Mengubahnya membangun memperbaikinya.
sumber
apa yang Sam katakan adalah cara terbaik untuk melakukan ini.
Namun, jika Anda memiliki skenario bahwa Anda perlu menyebarkan dacpac dari mesin yang tidak memiliki referensi tersebut di lokasi tertentu, Anda mungkin mendapat masalah. Cara lain adalah dengan membuka file .project Anda dan memastikan tag berikut memiliki nilai
false
untuk konfigurasi build yang Anda coba jalankan.Dengan cara ini Anda tidak perlu menambahkan referensi ke proyek Anda.
sumber