微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – VS2013数据库项目如何在解决方案中引用其他数据库项目

使用VS2013并完成我的第一个数据库项目解决方案.我在同一台服务器上有三个现有的数据库.报价,报价和报价.每个都有一些存储过程引用其他数据库之一.这是通过 database.schema.table(Quotes.dbo.Mytable)语法完成的,并且在SSMS和所有生产环境中都能很好地工作. QuotingUi有许多视图,使用相同的语法从Quoting中提取数据. SP和EF模型对此没有任何问题.

我创建了一个空的解决方案,然后通过右键单击sql对象资源管理器和创建新数据库中的数据库,将每个数据库作为项目添加解决方案中.创建所有三个项目后,解决方案就会构建.但是,我对Quotes和Quoting(仅限sps)有警告,无法将引用解析为其他数据库.在QuotingUi中,我不仅有关于sp引用的警告,而且还有关于所有视图的错误(红色波浪形).

我尝试将其他项目添加到每个项目中作为项目(似乎只需要dll)或数据库或两者,然后重建,然后关闭并重新打开解决方案等.我为其他两个项目设置了QuoutingUi的构建依赖项构建首先构建它们的顺序.没有快乐.

已经开始Deborah kurata Pluralsight课程,但我不相信她涵盖了这种情况.

建议欢迎.

解决方法

听起来你仍然在存储过程和视图中使用现有的三部分名称(例如[SameServerDb].[dbo].[Table2]).您应该更新它以使用sqlCMD变量名作为参考.使用sqlCMD变量,以便您可以在部署时更改引用的数据库名称.

这是in the help documentation,但这里有一个例子.在这种情况下,我添加了对“SameServerDb”的引用,如下所示:

请注意,“数据库变量”名称是$(SameServerDb).现在我只是将[SameServerDb]中的任何引用更改为[$(SameServerDb)]:

CREATE VIEW [dbo].[View2]
AS SELECT * FROM [$(SameServerDb)].[dbo].[Table2]

原文地址:https://www.jb51.cc/mssql/77071.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐