Answers:
尝试:
Edit-> IntelliSense->Refresh Local Cache
这应该刷新Intellisense缓存的数据,以提供预输入支持和预执行错误检测。
注意:您的光标必须在查询编辑器中才能显示IntelliSense菜单。
Ctrl+ Shift+也R刷新了Management Studio 2008中的intellisense。
master
被设置为用户登录的默认数据库。只需将使用的sp_defaultdb
数据库更改为登录时在SSMS中选择的另一个数据库即可。(也可以通过在SSMS中进行设置Security > Logins > your user login > Properties > Default database
)
一旦创建了新的SQL Server对象,您新创建的对象就不会在IntelliSence本地缓存中得到更新,因此,它在该对象下面显示了红线。因此,您只需要刷新SSMS IntelliSence本地缓存,刷新后,IntelliSence
它将自动在缓存中添加新创建的对象,并且红线将消失。尝试这个
Edit -> IntelliSense -> Refresh Local Cache
或 Ctrl+ Shift+R
就我而言,IntelliSense缓存正在列出完全不同的数据库的对象信息。如果单击SSMS中的“新建查询”按钮,它将打开对服务器上我的默认目录的查询,并且该查询编辑器将始终仅使用该数据库。刷新缓存没有任何改变。重新启动SSMS并没有任何改变。更改数据库没有任何改变。
我最终通过右键单击我实际要使用的数据库并从该上下文菜单中选择“新建查询”来创建查询。 现在, SSMS将正确的对象用于IntelliSense。
当我使用此语法问题解决时,我遇到了同样的问题。
句法:
Use [YourDatabaseName]
Your Query Here
即使在将SP3安装到SQL Server 2008 Enterprise之后,这仍然是一个“问题”。Ctrl+ Shift+ R就像大家一直说解决了这个问题对我来说。
我知道这个问题已经得到解答,但是,我有一个不同的解决方案:
如果您正在编写一个脚本,在其中放置表而不重新创建它们,则稍后尝试引用它们时,这些表将显示为丢失。
注意:对于经常运行的脚本来说,这不会发生,但是有时候让脚本包含查询内容要比每次键入都要容易。
我遇到了以下问题:ODBC和Firedac-Connection中的ODBC和SQL-Server-Authentication
解决方案:我必须将Param MetaDefSchema设置为sqlserver用户名:FDConnection1.Params.AddPair('MetaDefSchema',self.FDConnection1.Params.UserName);
Wikidoc说:MetaDefSchema =默认模式名称。设计时间代码>>排除<< !! 对象SQL-Server-Authenticatoinname中的架构名称(如果它等于MetaDefSchema)。
没有设置,自动编码器将创建:dbname.username.tablename->无效的对象名
通过将MetaDefSchema设置为sqlserver-username:dbname.tablename->起作用了!
另请参见embarcadero-doc,网址为:http ://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_(FireDAC )
希望对别人有帮助。
问候,卢茨
[DatabaseName].[Schema].[TableName]
SO:无效的对象名称sql