430 Stimmen

sql server ungültiger Objektname - aber Tabellen sind in der SSMS-Tabellenliste aufgeführt

Ich versuche, eine Stored Procedure für eine neu erstellte Datenbank. Allerdings ist die SSMS intellisense erkennt mehr als die Hälfte der erstellten Tabellen nicht.

In der linken Spalte unter Tabellen habe ich zum Beispiel eine Tabelle dbo.Room , wenn ich " dbo. "Im neuen Abfragefenster ist diese Tabelle nicht aufgeführt, sondern nur 17 von 37 Tabellen.

Ich kann keinen Unterschied zwischen den von intellisense aufgelisteten und den nicht aufgelisteten Tabellen erkennen. Wenn ich dbo.Room manuell eingebe, wird es unterstrichen, mit einem Fehler von

Ungültiger Objektname 'dbo.Room'..

Habe ich beim Einrichten der Tabellen etwas übersehen?

UPDATE: Ich habe versucht, die Liste der Tabellen zu aktualisieren (mehrere Male)

3voto

Troy Loberger Punkte 307

Ich weiß, dass diese Frage bereits beantwortet wurde, aber ich hatte eine andere Lösung:

Wenn Sie ein Skript schreiben, in dem Sie die Tabellen löschen, ohne sie neu zu erstellen, werden diese Tabellen als fehlend angezeigt, wenn Sie später versuchen, auf sie zu verweisen.

Hinweis: Dies wird bei einem Skript, das ständig ausgeführt wird, nicht passieren, aber manchmal ist es einfacher, ein Skript mit Abfragen zu haben, auf das man sich beziehen kann, als sie jedes Mal einzugeben.

3voto

Eric Yeoman Punkte 1016

Gelöst für SSMS 2016.

Ich hatte ein ähnliches Problem, aber Intellisense war nicht im Menü Bearbeiten.

Was das Problem zu beheben schien, war das Ein- und Ausschalten des Intellisens. Klicken Sie mit der rechten Maustaste auf den SQL-Editor und dann auf "Intellisense Enabled". Klicken Sie erneut mit der rechten Maustaste auf "Intellisense Enabled", um es wieder einzuschalten. Ctr Q, I tut dies auch.

Damit ist das Problem gelöst, und ich kann auch die Intellisense-Funktion im Menü Bearbeiten nutzen.

2voto

KM. Punkte 98297

Haben Sie es versucht: Klicken Sie mit der rechten Maustaste auf die Datenbank und dann auf "Aktualisieren".

2voto

stealthysnacks Punkte 1001

Ich musste SMSS einfach schließen und erneut öffnen. Ich habe versucht, den lokalen Cache zu aktualisieren, aber das hat nicht funktioniert.

0voto

Lutz Punkte 11

Ich bin auf das Problem mit : ODBC und SQL-Server-Authentifizierung in ODBC und Firedac-Verbindung

Lösung: Ich musste den Param MetaDefSchema auf sqlserver username setzen: FDConnection1.Params.AddPair('MetaDefSchema', self.FDConnection1.Params.UserName);

Das wikidoc sagt dazu: MetaDefSchema=Standardname des Schemas. Der Design Time Code >>schließt<< !! den Schemanamen aus dem Objekt SQL-Server-Authenticatoinname aus, wenn er gleich MetaDefSchema ist.

ohne Einstellung erstellt der automatische Codierer : dbname.username.tablename -> ungültiger Objektname

Mit der Einstellung MetaDefSchema auf sqlserver-username : dbname.tablename -> funktioniert!

Siehe auch die Embarcadero-Doku unter : http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_(FireDAC)

Ich hoffe, es hilft noch jemandem

Mit freundlichen Grüßen, Lutz

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X