我有一个在VS2008中创建的SQL Server CLR触发器项目。在VS2012中打开项目不存在任何问题,但是在构建解决方案时,我得到SQL71501错误,使用Trigger:[...]有一个未解析的对象引用[...]。
根据我的阅读,这是由于项目中缺少数据库引用。当我尝试添加数据库引用时,我得到了“添加数据库引用”对话框,它提供了三个选项:
进一步阅读建议没有为第一个选项选择数据库项目的原因是因为没有通过服务器资源管理器添加数据连接。在我的情况下肯定存在数据连接,当我的项目打开时,我可以很高兴地浏览数据库,查看数据等。
我认为它可能与目标框架有关,所以我尝试过针对3.5甚至2,但同样的问题也出现了。
我觉得我错过了一些基本的东西,但却无法解决这个问题。任何帮助都会非常感激。
答案 0 :(得分:9)
我看到这个对话框没有启用“确定”按钮,因为它默认的数据库变量无效(在我的情况下,它有一个'。')。
这是错误的线索是“示例用法”字段中的文本包含错误消息 - 它很难看到,因为它是浅灰色的深灰色。
编辑数据库变量名称修复此问题。
答案 1 :(得分:6)
我为此找到了一个工作流程,不是最佳的,但至少它是有效的:
试试这个 - 打开sql server对象资源管理器 - 创建与服务器的新连接 - 右键单击数据库并选择create new the project ... - 向导将创建项目,其中包含所有引用和连接字符串。
喝彩!
答案 2 :(得分:0)
我改变了我的回答
问题是您不能假设插入是单行而您实际上只能将主键作为触发器内的单个值引用