2

Microsoft SQL Serverを使用して、共有テーブル構造のマルチテナントアプリケーションを構築しています。

SQLServer接続を介してtenantIDパラメーターを渡すことは可能かどうか疑問に思います。テナントごとに個別のユーザーアカウントを作成したくありません。

現在、ApplicationNameまたはWorkstationIDの2つの方法があります。

よろしく、アレクセイ・ザハロフ

4

1 に答える 1

3

接続文字列のアプリケーション名を使用します。これは、 APP_NAME(Transact-SQL)を使用してTSQLで簡単に取得できます。

ただし、 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
于 2010-05-20T11:38:25.860 に答える