首页 > 解决方案 > SQL Server - 使用参数的 OPENROWSET 服务器名称错误

问题描述

我在使用此查询时遇到问题...知道如何声明变量并使其对 OPENROWSET 查询可见吗?

  DECLARE @SERVERNM VARCHAR;

  SET @SERVERNM = (SELECT(CAST(CONNECTIONPROPERTY('local_net_address') AS VARCHAR) + '\' + CAST(SERVERPROPERTY('InstanceName') AS VARCHAR)))

  SELECT 
      * 
  FROM
      OPENROWSET('SQLOLEDB','SERVER=@SERVERNM;Trusted_Connection=yes;',
  'set fmtonly off;exec DW..P750106119 @ENT_NR_VERSAO=1')

错误:

命名管道提供程序:无法打开与 SQL Server [53] 的连接。

标签: sqlsql-serveropenrowset

解决方案


这是变量的声明:

DECLARE @SERVERNM VARCHAR(100)

SET @SERVERNM = (SELECT(CAST(CONNECTIONPROPERTY('local_net_address') AS VARCHAR)+'\'+CAST(SERVERPROPERTY('InstanceName') AS VARCHAR)))

推荐阅读