2012-05-31 20 views

Odpowiedz

6

Nie było jasne, co by określić, które 71502 wiadomości byłyby stłumione, a które nie opierałyby się na moim własnym zrozumieniu i badaniach. Uważam, że odpowiedź jest taka sama. Krótko mówiąc, nie.

Można ukryć wszystkie ostrzeżenia lub ostrzeżenia w oparciu o konkretny kod (71502), ale jest on tak ziarnisty, jak to tylko możliwe.

http://msdn.microsoft.com/en-us/library/hh272681(v=VS.103).aspx

Link ten mówi o promowaniu ostrzeżenia do błędów, ale także pokazuje, jak jest stosowany filtr tłumić - która opiera się na swoje pytanie prawdopodobnie już wiesz.

http://social.msdn.microsoft.com/Forums/is/ssdt/thread/9b698de1-9f6d-4e51-8c73-93c57355e768

+0

Czy to faktycznie działa? ponieważ wciąż wyświetlają się jako ostrzeżenia na msbuild podczas próbowania WarningLevel lub nowarn. – StingyJack

33

można stłumić go na poziomie indywidualnym pliku zawierającego kod generujący ostrzeżenie, jeśli chcesz. Coś takiego.

<Build Include="Stored Procedures\X.sql"> 
    <SuppressTSqlWarnings>71502</SuppressTSqlWarnings> 
</Build> 
+7

Można to również zrobić w oknie Właściwości pliku. – Daniel

+1

@Daniel: To prawda, a to zasadniczo ustawiło tę właściwość w podobny sposób w pliku SQLProj. – Varun

+0

powinna być zaakceptowaną odpowiedzią. –

1

Jeśli ostrzeżenia są pochodzące z procedur przechowywanych, można ustawić zwalczaniu konkretnych sprocs dodając część liczbę ostrzeżenia (rozdzielany przecinkami jeśli chcesz więcej) do sekcji ostrzegania zwalczaniu TSQL we właściwościach sproc .

5

Wygląda na to, że próbujesz to zrobić na poziomie obiektu/pliku, na przykład sproc.

Jeśli jest to poziom ziarnistości, którego potrzebujesz, to przy otwartym projekcie wybierz obiekt, a we właściwościach jest opcja Ukrywania ostrzeżeń TSql, wprowadź 71502 i to powinno zrobić.

Pozostałe ostrzeżenia dotyczące obiektu będą nadal zgłaszane - podobnie jak 71502 ostrzeżeń w innych obiektach.

0

Jak już wspomniano, na poziomie obiektu można zignorować wszystkie wystąpienia ostrzeżenia/błędu. Jeśli chcesz zignorować tylko pewne wystąpienie ostrzeżenia w obiekcie, które nie jest możliwe.

Znalazłem obejście, które również może ci pomóc.

W moim przypadku odwołuję się do tabeli w procedurze przechowywanej, która jest tworzona przez instrukcję "select * to ...", a Visual Studio nie może obsłużyć żadnego następującego odniesienia na tej nowej tabeli i otrzymuję wiele ostrzeżeń SQL71502. oszukać VS stworzyłem na szczycie mojej SP następujące:

IF 1=2 CREATE mytable(...) 

Robi tak VS można sprawdzić wszystkie jakieś referencje, ale ponieważ stan klauzuli if jest zawsze fałszywy nie ma negatywny wpływ na moją SP. Pamiętaj, aby zaktualizować instrukcję CREATE, jeśli to konieczne.

Powiązane problemy