Передать идентификатор клиента через соединение с сервером sql - PullRequest
2 голосов
/ 20 мая 2010

Я создаю мультитенантное приложение со структурой общих таблиц с использованием Microsoft SQL Server.

Интересно, можно ли передать параметр tenantID через соединение с сервером sql.Я не хочу создавать отдельную учетную запись пользователя для каждого арендатора.

В настоящее время я вижу два пути: через ApplicationName или WorkstationID

С уважением, Алексей Захаров

1 Ответ

3 голосов
/ 20 мая 2010

Я бы использовал Имя приложения для строки подключения , которое затем легко получить в TSQL с помощью APP_NAME (Transact-SQL) .

Однако вы также можете рассмотреть возможность использования CONTEXT_INFO (Transact-SQL) .

--to set value
DECLARE @CONTEXT_INFO  varbinary(128)
SET @CONTEXT_INFO =cast('Anything Here!!'+REPLICATE(' ',128) as varbinary(128))
SET CONTEXT_INFO @CONTEXT_INFO


--to use value
IF CAST(CONTEXT_INFO() AS VARCHAR(128))='Anything Here!'
BEGIN
    --do something
END
...