有没有办法从我的数据库项目引用另一个数据库而不直接引用它?
例如,我希望能够写出这样的内容:
CREATE VIEW View1
AS
SELECT X FROM OtherDB.dbo.Table1
答案 0 :(得分:3)
最好的办法是为项目添加数据库引用。对于VS2010和较低的DBProj文件,您需要生成dbschema文件并将其添加为数据库引用。对于SSDT,您将需要使用dacpac文件。这适用于大部分是静态的项目,您甚至可以将它们定制为仅包含相关的对象。
VS2010,2008 - http://msdn.microsoft.com/en-us/library/dd193283%28v=VS.90%29.aspx包含将现有数据库导出到dbschema文件所需的文档。将它放在项目可以访问它的地方,并将其添加为“数据库参考”。
SSDT - http://msdn.microsoft.com/en-us/library/hh550080%28v=VS.103%29.aspx为您提供了生成dacpac文件的命令行参考。生成后,将其放在项目可以访问它的位置,并添加为数据库引用。
我在这里有关于SSDT的博客文章:http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html