2010-05-20 8 views
2

Je crée une application multi-locataires avec une structure de table partagée à l'aide de Microsoft SQL Server.ID de locataire de passe via la connexion au serveur SQL Server

Je me demande s'il est possible de transmettre le paramètre de locationID via une connexion au serveur sql. Je ne veux pas créer de compte d'utilisateur séparé pour chaque locataire.

Actuellement, je vois deux façons: via NomApplication ou WorkstationID

Cordialement, Alexey Zakharov

Répondre

3

J'utiliser le Application Name of the connect string, qui est alors facile d'obtenir à en TSQL avec APP_NAME (Transact-SQL). Toutefois, vous pouvez également utiliser 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