本文介绍了通过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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 12:25