VS2010数据库项目SQL Server 2008中的SQL03006错误

问题描述

|| 当我尝试在VS2010中为SQL Server 2008建立数据库项目时,我总是遇到错误\“ SQL03006-列xyz包含对对象的未解析引用。该对象不存在或该引用不明确,因为它可以引用以下任何对象... \“ 原始代码的一个示例如下:
CREATE VIEW [dbo].[vwSomeView]
AS
SELECT 
    CT.ID,CT.UserName,ST.Title
FROM
    SomeOtherDatabase.dbo.ComputerTable CT
JOIN
    SomeOtherDatabase.dbo.SoftwareTable ST ON
    CT.ID = ST.ComputerID
现在错误仅涉及列CT.UserName,而不是CT.ID。我还为\“ SomeOtherDatabase \”添加了相应的数据库引用,并根据在寻找解决方案时发现的几篇文章的建议更新了代码:
CREATE VIEW [dbo].[vwSomeView]
AS
SELECT 
    CT.ID,ST.Title
FROM
    [$(SomeOtherDatabaseName)].dbo.ComputerTable CT
JOIN
    [$(SomeOtherDatabaseName)].dbo.SoftwareTable ST ON
    CT.ID = ST.ComputerID
我不明白的是,为什么CT表中的一列有问题,而另一列没有。当我查看数据库项目中的表定义时,一切都很好,因为该列在那里(符合预期)。 我也不太确定是否可以在定义后通过别名来引用表名,即写“ CT.ComputerID”而不是“ [$(SomeOtherDatabaseName)]。dbo”是否存在问题? “ .ComputerTable \”(我不这么认为,但是我遇到了很多错误,以至于我现在有点失落)。 任何朝着正确方向的指点都值得赞赏,谢谢。 更新资料 实际的错误消息是这样的:
SQL03006: View: [dbo].[vwSomeView] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [$(SomeOtherDatabaseName)].[dbo].[ComputerTable]::[ID] or [$(SomeOtherDatabaseName)].[dbo].[SoftwareTable]::[ID]\"
G。     

解决方法

        JOIN在
ComputerTable.ID
上是
SoftwareTable .ComputerID
,对我而言意味着
ComputerTable
中没有
ComputerID
列(CT别名) 除了
ComputerTable.ID
之外,您真的还有a7ѭ列吗?
SoftwareTable
上的foreignn键的唯一键是哪个? 我觉得10ѭ是个红鲱鱼 编辑: 您的错误是由SQL Server查找数据库名称
[$(SomeOtherDatabaseName)]
引起的 由于某种原因,它没有被VS纠正。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...