Мне нужно использовать существующий триггер INSERT, который использует CONTEXT_INFO ...
Как передать "context_info" в ac # SqlCommand, чтобы этот триггер продолжал работать правильно?
Использование вSQL-триггер:
select @ctxt=context_info from master.dbo.sysprocesses where spid = @@spid
set @session=substring(@ctxt,1,4)
set @contextid=substring(@ctxt,5,4)
set @ntduser=substring(@ctxt,9,120)
Пробовал:
//string strContext = "declare @context_info varbinary(30) set @context_info = cast('abcdefghijklmnopqrstuv1234567890' as varbinary(30)) set context_info @context_info";
///////////////
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.UpdateCommand = cb.GetUpdateCommand();
//da.UpdateCommand.CommandText= da.UpdateCommand.CommandText.Replace(" WHERE ", strContext+" WHERE ");
//da.UpdateCommand.CommandText = "SET CONTEXT_INFO 0x1 " + da.UpdateCommand.CommandText;
da.Update(dataTable);
da.Dispose();
см. Закомментированный код ... В моем SQL-триггере "context_info" всегда был пустым
Уже прочитал это: https://social.msdn.microsoft.com/Forums/en-US/4a0ecb28-11cb-45ec-adbd-d72ac65b158a/how-to-pass-net-applications-parameter-to-a-trigger?forum=transactsql, но также не работает.
Нет ли там примера, где context_info передается в SqlCommand или SqlConnection или SqlTransaction?