我正在尝试为新创建的数据库创建存储过程。然而,SSMS智能感知不能识别超过一半的已创建的表。
例如,在表的左边这一列,我有一个表dbo。当我在新的查询窗口中输入“dbo.”时,没有列出那个表,实际上37个表中只列出了17个。
我看不出智能感知和非智能感知列出的表格有什么不同。如果我手动输入dbo。房间,它是下划线,有一个错误
无效对象名称“dbo.Room”…
我是不是在摆桌子的时候漏掉了什么?
更新:我已经尝试刷新表列表(几次)
我正在尝试为新创建的数据库创建存储过程。然而,SSMS智能感知不能识别超过一半的已创建的表。
例如,在表的左边这一列,我有一个表dbo。当我在新的查询窗口中输入“dbo.”时,没有列出那个表,实际上37个表中只列出了17个。
我看不出智能感知和非智能感知列出的表格有什么不同。如果我手动输入dbo。房间,它是下划线,有一个错误
无效对象名称“dbo.Room”…
我是不是在摆桌子的时候漏掉了什么?
更新:我已经尝试刷新表列表(几次)
当前回答
我遇到了一个问题: ODBC和ODBC中的SQL-Server-Authentication 而且 Firedac-Connection
解决方案: 我必须将参数MetaDefSchema设置为sqlserver用户名: FDConnection1.Params。AddPair (MetaDefSchema, self.FDConnection1.Params.UserName);
wikidoc说: MetaDefSchema=默认模式名。设计时间代码>>排除<< !! !如果它等于MetaDefSchema,则从对象SQL-Server-Authenticatoinname获取模式名。
无需设置,自动编码器创建: Dbname.username.tablename ->无效的对象名称
将MetaDefSchema设置为sqlserver-username: dbname。Tablename ->工作!
另见embarcadero-doc: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Microsoft_SQL_Server_ (FireDAC)
希望它能帮助别人。
问候,鲁茨
其他回答
确保选中的DB就是表所在的DB。我在Master上运行脚本。在我的例子中,我必须切换到hr_db。
新手的错误但是,可以帮助别人。
Ctrl + Shift + R刷新management studio 2008中的智能感知功能。
你确定有问题的桌子存在吗?
是否刷新了对象资源管理器中的表视图?这可以通过右键单击“tables”文件夹并按F5键来完成。
您可能还需要刷新智能感知缓存。
可以通过以下菜单路径完成:Edit -> IntelliSense -> Refresh Local Cache
我在Azure SQL Server上工作。对于存储数据,我使用表值参数 就像
DECLARE @INTERMEDIATE_TABLE3 TABLE {
x int;
}
我发现了写查询时的错误
SELECT
*
FROM
[@INTERMEDIATE_TABLE3]
WHERE
[@INTERMEDIATE_TABLE3].[ConsentDefinitionId] = 3
在查询列时,可以使用[@INTERMEDIATE_TABLE3]这样的大括号将其括起来。[ConsentDefinitionId]但是当只引用表值的param时,不应该有params。所以它应该被用作@INTERMEDIATE_TABLE3
所以现在必须将代码更改为
SELECT
*
FROM
@INTERMEDIATE_TABLE3
WHERE
[@INTERMEDIATE_TABLE3].[ConsentDefinitionId] = 3
不要忘记在编写模型之后创建您的迁移