Как передать параметр в процедуру хранилища при аутентификации openrowset и sql-server

У меня хранится процедура с динамическими параметрами (@ parametr1, @parametr2) и я хочу использовать его в openrowset с аутентификацией SQL-SERVER.

1 ответ

Вот пример того, как это сделать с динамическим 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)
Другие вопросы по тегам