Есть ли способ выполнить команду SQL в соединении ADO.NET, например, параметр SQLCMD -q? - PullRequest
0 голосов
/ 16 мая 2018

У нас есть несколько приложений, пишущих в нашу базу данных MS SQL 2008 R2, и существует необходимость сбора информации об этих приложениях во время этих записей. Код базы данных (триггеры, хранимые процедуры и т. Д.) Находится под моим контролем и может быть изменен, но не код приложения.

Я склоняюсь к использованию CONTEXT_INFO для хранения информации, специфичной для приложения, и извлечения ее в триггерах. Вопрос в 1 миллион долларов: «Как я могу заставить приложения устанавливать CONTEXT_INFO, если они не хотят менять код приложения?».

У меня действительно есть доступ к строкам подключения, которые используют эти приложения, поскольку они находятся в файлах конфигурации.

Мне не удалось найти какие-либо свойства в строке подключения, которые я могу использовать для установки CONTEXT_INFO (или выполнить любой TSQL при инициализации). В основном я надеялся смоделировать поведение опции SQLCMD -q, например, SQLCMD -q "SET CONTEXT_INFO 0x1244".

Есть ли способ симулировать это поведение в ADO.NET через конфигурацию? Или другой способ сделать это? Любые указатели приветствуются.

Если это невозможно, я могу вернуть сообщение и сказать «менеджменту», что код приложения должен быть изменен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...