Próbuję utworzyć Stored Procedure
dla nowo utworzonej bazy danych. Jednak SSMS
intellisense nie rozpoznaje ponad połowę tabel, które zostały utworzone.
Na przykład podczas gdy w lewej kolumnie pod tabelami mam tabelę dbo.Room
, gdy wpisuję „ dbo.
” w nowym oknie zapytania, tabela ta nie jest wymieniona, w rzeczywistości wymieniono tylko 17 z 37 tabel.
Nie widzę żadnej różnicy między tabelami wymienionymi przez intellisense a tymi nie. Jeśli ręcznie wpisuję dbo.Room, jest to podkreślone, z błędem
Nieprawidłowa nazwa obiektu „dbo.Room” ..
Czy coś przeoczyłem przy ustawianiu stołów?
AKTUALIZACJA: Próbowałem odświeżyć listę tabel (kilka razy)
sql-server
ssms
Richbits
źródło
źródło
[DatabaseName].[Schema].[TableName]
SO: Nieprawidłowa nazwa obiektu sqlOdpowiedzi:
Próbować:
Edit-> IntelliSense->Refresh Local Cache
Powinno to odświeżyć dane buforowane przez Intellisense, aby zapewnić obsługę TypeAhead i wykrywanie błędów przed wykonaniem.
UWAGA: Kursor musi znajdować się w edytorze zapytań, aby menu IntelliSense było widoczne.
źródło
Ctrl+ Shift+ Rodświeża intellisense również w Management Studio 2008.
źródło
Upewnij się, że wybrana baza danych to ta, w której znajduje się tabela. Uruchomiłem skrypt
Master
. W moim przypadku musiałem się przełączyć nahr_db
.Błąd nowicjusza, ale może komuś pomóc.
źródło
master
jest ustawiony jako domyślna baza danych logowania użytkownika. Po prostu zmień tosp_defaultdb
na inną bazę danych, aby inna baza danych była wybierana w SSMS po zalogowaniu. (Można również ustawić w SSMS przezSecurity > Logins > your user login > Properties > Default database
)po utworzeniu nowego obiektu SQL Server nowo utworzony obiekt nie jest aktualizowany w lokalnej pamięci podręcznej IntelliSence i dlatego pokazuje czerwoną linię pod tym obiektem. Wystarczy więc odświeżyć lokalną pamięć podręczną IntelliSence SSMS SSMS, a po odświeżeniu
IntelliSence
automatycznie doda ona nowo utworzony obiekt do pamięci podręcznej, a czerwona linia zniknie. Spróbuj tegoEdit -> IntelliSense -> Refresh Local Cache
lub Ctrl+ Shift+Rźródło
W moim przypadku pamięć podręczna IntelliSense zawierała informacje o obiekcie dla zupełnie innej bazy danych. Gdybym kliknął przycisk „Nowe zapytanie” w SSMS, otworzyłoby zapytanie do mojego katalogu domyślnego na serwerze, a ten edytor zapytań zawsze używałby tylko tej bazy danych. Odświeżenie pamięci podręcznej niczego nie zmieniło. Ponowne uruchomienie SSMS nic nie zmieniło. Zmiana bazy danych niczego nie zmieniła.
Utworzyłem zapytanie, klikając prawym przyciskiem myszy bazę danych, której naprawdę chciałem użyć, i wybierając „Nowe zapytanie” z tego menu kontekstowego. Teraz SSMS używa poprawnych obiektów dla IntelliSense.
źródło
Czy jesteś pewien, że tabela istnieje?
Czy odświeżyłeś widok tabeli w Eksploratorze obiektów? Można to zrobić, klikając prawym przyciskiem myszy folder „tabele” i naciskając F5klawisz.
Konieczne może być także odświeżenie pamięci podręcznej Intellisense.
Można to zrobić, postępując zgodnie z trasą menu: Edytuj -> IntelliSense -> Odśwież lokalną pamięć podręczną
źródło
Rozwiązaniem jest:
Otóż to.
źródło
Ten sam problem ze mną, gdy użyłem tego problemu ze składnią, rozwiązany.
Składnia:
źródło
Nawet po zainstalowaniu dodatku SP3 do SQL Server 2008 Enterprise jest to nadal „problem”. Ctrl+ Shift+ Rjak wszyscy mówili, rozwiązał ten problem dla mnie.
źródło
Rozwiązany dla SSMS 2016.
Miał podobny problem, ale Intellisense nie było w menu Edycja.
To, co wydawało się naprawić, to włączanie i wyłączanie Intellisens, kliknij prawym przyciskiem myszy edytor SQL i kliknij „Intellisense Enabled”. Kliknij ponownie prawym przyciskiem myszy na „Intellisense Enabled”, aby ponownie włączyć. Ctr Q, ja też to robię.
To rozwiązało problem, a także wiem, jak uzyskać Intellisense w menu Edycja.
źródło
Po prostu musiałem zamknąć SMSS i otworzyć go ponownie. Próbowałem Odśwież lokalną pamięć podręczną i to nie działało.
źródło
próbowałeś: kliknij bazę danych prawym przyciskiem myszy i kliknij „odśwież”
źródło
Zdaję sobie sprawę, że na to pytanie już udzielono odpowiedzi, ale miałem inne rozwiązanie:
Jeśli piszesz skrypt, w którym upuszczasz tabele bez ich ponownego tworzenia, tabele te będą wyświetlane jako brakujące, jeśli spróbujesz odwołać się do nich później.
Uwaga: Nie dzieje się tak w przypadku skryptu, który jest ciągle uruchamiany, ale czasami łatwiej jest mieć skrypt z zapytaniami, aby się do niego odwoływać, niż pisać go za każdym razem.
źródło
Wystąpił problem z: ODBC i uwierzytelnianiem serwera SQL w ODBC i Firedac-Connection
Rozwiązanie: Musiałem ustawić Param MetaDefSchema na nazwę użytkownika sqlserver: FDConnection1.Params.AddPair ('MetaDefSchema', self.FDConnection1.Params.UserName);
Wikidoc sais: MetaDefSchema = Domyślna nazwa schematu. Kod czasu projektowania >> wyklucza << !! nazwa schematu z obiektu SQL-Server-Authenticatoinname, jeśli jest równa MetaDefSchema.
bez ustawienia automatyczny program kodujący tworzy: dbname.username.tablename -> niepoprawna nazwa obiektu
Z ustawieniem MetaDefSchema na sqlserver-username: dbname.tablename -> działa!
Zobacz także dokument embarcadero na: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_(FireDAC)
Mam nadzieję, że pomaga komuś innemu ...
pozdrowienia, Lutz
źródło
W lazurowym studiu danych naciśnij „cmd + shift + p” i wpisz „intellisense”, wtedy zobaczysz opcję odświeżenia pamięci podręcznej intellisense.
źródło
Nie zapomnij utworzyć migracji po napisaniu modeli
źródło