Как передать параметр в процедуру хранилища при аутентификации 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)