本文介绍了通过SQL Server连接传递租户ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Microsoft SQL Server构建具有共享表结构的多租户应用程序.
I'm building multi tenant application with shared table structure using Microsoft SQL Server.
我想知道是否可以通过sql server连接传递tenantID参数.我不想为每个租户创建单独的用户帐户.
I wonder if it possible to pass tenantID parameter via sql server connection. I don't want to create separate user account for each tenant.
目前,我看到两种方式:通过ApplicationName或WorkstationID
Currently I see two ways: via ApplicationName or WorkstationID
最诚挚的问候,阿列克谢·扎哈罗夫(Alexey Zakharov)
Best regards,Alexey Zakharov
推荐答案
我会使用连接字符串的应用程序名称,使用 APP_NAME(Transact-SQL).
但是,您也可以考虑使用 CONTEXT_INFO(Transact-SQL).
However, you could also consider using 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
这篇关于通过SQL Server连接传递租户ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!