sql - 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] 的连接。
解决方案
这是变量的声明:
DECLARE @SERVERNM VARCHAR(100)
SET @SERVERNM = (SELECT(CAST(CONNECTIONPROPERTY('local_net_address') AS VARCHAR)+'\'+CAST(SERVERPROPERTY('InstanceName') AS VARCHAR)))
推荐阅读
- laravel - 如何在 Laravel 中对结果进行分页和排序?
- reactjs - Admob - RNAMobRewardedVideoAdModule 不是抽象的
- android - 从android中的媒体会话中删除活动歌曲
- sql - 函数调用过程给出错误“只能从函数内执行函数和一些扩展存储过程”
- python - 打开函数中给出的 csv 文件
- c - 在 C 中的函数递归中传递无符号数组
- dart - 如何在 Flutter 上更改 BottomNavigationBar 项目的颜色?
- unreal-engine4 - UPrimitiveComponent 的 GetMass 和 CalculateMass 有什么区别?
- android - NullPointerException 错误尝试在空对象引用上调用虚拟方法错误
- c - 段错误(核心转储)与 c