我有一个来自视图的查询副本(通过过滤),当我尝试执行它时,它会抛出一条错误消息,上面写着“无效的对象名称'bla bla'”。
我该如何解决?
我正在使用Windows 7(终极)os和sql server 2005 express。
答案 0 :(得分:2)
您可能正在错误的数据库中执行查询。如果您在SSMS中手动运行它,请使用“use”语句或“available databases”下拉列表来选择正确的db。
或完全限定您正在访问的对象的名称(db_name.owner.object_name)。
或者,正如rlb.usa所暗示的那样,对象可能不存在。 (检查你的拼写......)
答案 1 :(得分:0)
可能有两种方式:
您可以通过验证对象确实存在来解决此问题。先检查一下。拼写是否正确?架构是否正确? (dbo.mytable!= user.mytable)
您可以通过在查询本身之前将use mydatabasename;
置于查询顶部来解决此问题。如果它不喜欢那个,那么您可以尝试使用更长的方法来使用限定名称,方法是将所有表,函数和过程添加为databasename.schema.object
。