Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

dev2dev

Malina #2 (SQL Server 2008)

Zacząłem intensywną pracę z serwerem MS SQL 2008.  Dziś trafiłem na ciekawy przypadek - stworzyłem dwie własne funkcje. Chciałem je wykorzystać w kodzie procedury i wszystko na początku wyglądało bardzo dobrze.
Ale już po chwili pojawiło się zdziwienie:
Czyli jest ta funkcja czy jej nie ma? Sprawdziłem czy nie zrobiłem literówki. Wszystko OK. Z drugiego batch'a uruchomiłem proste wywołanie tej funkcji -  zachowała się ona poprawnie. Zdziwienie moje było jeszcze większe, gdy wraz z wypisaniem drugiej linijki kodu, na ekranie zobaczyłem dziwny widok:
Ta sama funkcja i jedno wywołanie błędne a drugie poprawne? Najechałem myszką na sygnalizacje błędu i zobaczyłem komunikat cokolwiek dziwny:
Nie czekam do pierwszego service pack'a. idę dalej w las...
Dopisuję jednak suplement (dziś jest 2008-10-16). Powyższy przykład zawierał mój błąd ale ten poniżej nie zawiera już takowego błędu
Paweł Potasiński wymyślił nazwę dla takiego intellisensa: Artificial Intellisense. Problem znika po odłączeniu sesji i ponownym do niej podłączeniu. Niezawodne "wyjść i wejść jeszcze raz" (hi, hi).
Kolejny suplement (2008-10-18). Intellisense ładuje schema bazy danych na początku sesji i nie aktualizuje jej w przypadku zmian dokonanych w niej w ciągu całej sesji.
Opublikowane 11 października 2008 20:21 przez marekpow
Filed under: , , ,

Komentarze:

 

brejk said:

A może po prostu wyłącz w Tool - Options opcję pokazywania błędów na bieżąco. To, jak widać, niespecjalnie dobrze działa :-)

Dobra wiadomość - nie trzeba wyłączać Intellisense, by te wkurzające podkreślenia zniknęły na dobre :D

października 11, 2008 20:10
 

marekpow said:

Tak. jest to kwestia ustawień. Ale a propos ustawień. SQL 2008 na starcie ma włączone ostrzeżenie, że nie można dokonać zmiany struktury bez uprzedniego jej usunięcia. OK, klepnąłem Enter myśląc, że to tylko takie ostrzeżenie producenta noża "oj uważaj, bo się skaleczysz, a najlepiej do krojenia użyj tej tępej strony noża". Ale on naprawdę nie pozwolił mi tego zrobić. Musiałem to wyłączyć w konfiguracji SSMS. Czy to w ochronie przed przypadkami, gdy jakiś idiota uprał kota w pralce automatycznej i domagał się odszkodowania od producenta bo nie było w instrukcji obsługi "nie prać kotów"? Zdaje się, że informatyka coraz bardziej schodzi pod strzechy ;-)

października 11, 2008 20:26
 

marekpow said:

Jednak mój błąd. Jak się przyjrzeć dokładnie. Wcale te dwie linijki kodu nie są takie same. Musiało być już bardzo późno :). Kuba dzięki za wnikliwą obserwację.

października 13, 2008 18:11
Komentarze anonimowe wyłączone
W oparciu o Community Server (Personal Edition), Telligent Systems