2

我正在尝试使用涉及链接服务器的数据层应用程序并遇到一个奇怪的问题。

这是我所拥有的:

1) 一个包含数据层项目的 VS2010 解决方案。

2) Data-Tier 项目以 SQL 2008 R2 服务器为目标。

3) SQL 服务器有一个到 Oracle 数据库的有效链接服务器连接。

4) Data-Tier 项目中的视图使用 OPENQUERY 引用链接服务器

链接的服务器连接是有效的,在服务器上对其运行查询可以正常工作,并且直接在服务器上创建视图也可以正常工作。

但是,每当我尝试构建我的 Data-Tier 应用程序时,我都会收到以下错误:

SQL03006: View: [dbo].[vwMyExampleView] has an unresolved reference to object [MyExampleLinkedServer].
4

2 回答 2

1

在 SQL 2012 中,只需添加新项-> Server Objects -> LinkServer,添加创建链接服务器的 sp 代码,就可以了

于 2014-03-11T13:56:25.643 回答
1

本质上,问题在于 SQL Server 数据库项目没有办法解决与 Oracle 数据库表的链接问题。

尝试引用同一服务器上不同数据库中的表时,我遇到了类似的问题。在我的例子中,我将 SQL Server 用于两个数据库,并为另一个数据库创建了一个数据库项目,将其添加到第一个项目的解决方案中,然后从第一个项目创建对第二个项目的引用。我还在同义词中使用了 SQLCMD 变量,这样我就可以更改同义词,并且我的所有 proc 和视图引用都不需要更新。

我不确定这是否适用于 SQL Server 和 Oracle,因为 Visual Studio 数据库版本仅支持 SQL Server。(AFAIK)您可以通过创建 .dbschema 文件并将数据库引用添加到 SQL Server 项目来找到解决方案。

更多细节可以在这个链接中找到:

http://msdn.microsoft.com/en-us/library/bb386242.aspx

于 2010-06-25T14:14:40.143 回答