问题 无法向VS2012项目添加数据库引用


我有一个在VS2008中创建的SQL Server CLR触发器项目。在VS2012中打开项目没有任何问题,但是在构建解决方案时,我得到了SQL71501错误,使用Trigger:[...]有一个未解析的对象引用[...]。

根据我的阅读,这是由于项目中缺少数据库引用。当我尝试添加数据库引用时,我得到了“添加数据库引用”对话框,它提供了三个选项:

  • 当前解决方案中的数据库项目**此选项显示为灰色/禁用
  • 系统数据库(仅显示系统DB)
  • 数据层应用程序(.dacpac)**没有选项可供选择,因为这不是我创建项目的方式。

进一步阅读建议没有为第一个选项选择数据库项目的原因是因为没有通过服务器资源管理器添加数据连接。在我的情况下肯定存在数据连接,当我的项目打开时,我可以很高兴地浏览数据库,查看数据等。

我认为这可能与目标框架有关,所以我尝试过针对3.5甚至2,但同样的问题也出现了。

我觉得我错过了一些基本的东西,但却无法解决这个问题。任何帮助将不胜感激。


5363
2017-07-31 05:05


起源



答案:


我已经看到这个对话框没有启用“确定”按钮,因为它默认的数据库变量是无效的(在我的例子中它有一个'。')。

这个错误的线索是“示例用法”字段中的文本包含错误消息 - 它很难看到,因为它是浅灰色的深灰色。

编辑数据库变量名称修复此问题。


9
2017-10-11 02:58



删除点也适合我。使用该变量,您可以创建跨数据库引用:[$(ServerVariable)]。[$(DatabaseVariable)]。[Schema]。[ObjectDefinition] - Jowen


答案:


我已经看到这个对话框没有启用“确定”按钮,因为它默认的数据库变量是无效的(在我的例子中它有一个'。')。

这个错误的线索是“示例用法”字段中的文本包含错误消息 - 它很难看到,因为它是浅灰色的深灰色。

编辑数据库变量名称修复此问题。


9
2017-10-11 02:58



删除点也适合我。使用该变量,您可以创建跨数据库引用:[$(ServerVariable)]。[$(DatabaseVariable)]。[Schema]。[ObjectDefinition] - Jowen


我找到了一个这方面的工作,不是最佳的,但至少它是有效的:

尝试这个 - 打开sql server对象资源管理器 - 创建与服务器的新连接 - 右键单击​​数据库并选择create new the project ... - 向导将创建项目,其中包含所有引用和连接字符串。

干杯!


6
2017-08-16 23:29





我改变了答案

问题是您不能假设插入是单行,并且您实际上只能将主键作为触发器内的单个值引用


0
2017-09-17 19:59