0

我有一个带有动态参数的存储过程,(@ parametr1, @parametr2)我想在openrowsetSQL-SERVER 身份验证中使用它。

4

1 回答 1

0

这是一个如何使用动态 sql 执行此操作的示例。注意单撇号:

declare 
    @username sysname = N'MyUser', 
    @password nvarchar(32) = N'MyPassword', 
    @sqlinstance sysname = 'MYServer\MyInstance',
    @dbname sysname = 'MyDatabase',
    @query nvarchar(256);

set @query = concat
(
    N'select t.* from openrowset(''sqloledb'',''server=', @sqlinstance,
    ';Database=', @dbname,
    ';UID=', @username,
    ';Pwd=', @password,
    ';'', ''select somecolumn from someschema.sometable'') t'   
);
print @query;
exec(@query)
于 2020-07-11T15:45:12.360 回答