gpt4 book ai didi

sql-server-data-tools - 如何将 OpenQuery 合并到 SSDT 项目中(无 SQL71501/'unresolved reference to object' 错误)

转载 作者:行者123 更新时间:2023-12-05 05:17:37 26 4
gpt4 key购买 nike

我有一个 Visual Studio SSDT 项目,其中一个 View 通过 4 部分命名引用链接服务器。我已经在链接服务器上为数据库设置了一个项目,并创建了从主项目到“链接服务器”项目的引用,一切正常。

我被指示使用 OpenQuery 而不是 4 部分命名约定,因为实际上 OpenQuery 的运行速度确实比通过 4 部分命名约定的查询快 2-3 倍。

但是,当我将 SSDT 中的 View 更改为使用开放式查询时,出现错误:严重性代码描述项目文件行抑制状态错误 SQL71501: View :[schema].[view] 具有对对象 [LINKEDSERVER] 的未解析引用。

我尝试在项目的脚本中定义 [LINKEDSERVER]:

exec master.dbo.sp_addlinkedserver @server = N'LINKEDSERVER', @srvproduct=N'SQLSERVER', @provider=N'SQLNCLI', @datasrc=N'SERVERNAME'

并且还尝试将其添加到引用的项目中。

So, how to incorporate OpenQuery into an SSDT project without incurring SQL71501/'unresolved reference to object' errors?

OpenQuery erroring whereas 4 part works fine

最佳答案

我一直在为同样的问题而战。我解决了:

  • 导入包含所需链接服务器的 master.dacpac。
  • 创建从调用数据库到我正在引用的数据库的 DACPAC 的数据库引用(确保选中抑制引用警告)。
  • 使用语法 OpenQuery([LINKEDSERVER], 'xxx'); 而不是 OpenQuery([$([LINKEDSERVER])], 'xxx');

    希望对您有所帮助!

关于sql-server-data-tools - 如何将 OpenQuery 合并到 SSDT 项目中(无 SQL71501/'unresolved reference to object' 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49048850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com