Tim*_*uri 3 c# connection-string sql-server-2008
为了进一步解释这种需求,请考虑以下情况:
在严重依赖的遗留系统中TRIGGERS,我们需要提供某种类型的令牌(让我们称之为"SessionID")以插入到某些安全日志表中.此令牌在应用程序服务器的C#中创建,并将传递到所有 SQL命令中.
不过,这对触发器的要求是不可改变的
因此,因为我有权修改连接字符串,所以我可以(并且已经成功证明我可以)使用"应用程序名称"标记来提供这条信息.
string connectionString = string.Format("SERVER=sql.example.com; "
+ "DATABASE=someDB; User ID=xyz; Password=123; Application Name={0}", sID);
Run Code Online (Sandbox Code Playgroud)
问题很简单......上面的工作,但由于我们有成千上万的用户...我们的连接池被销毁(因为连接池是基于连接字符串...基本上,我需要连接池到基于除了Application Name财产以外的一切).
所以,你知道我怎么做:
作为旁注...我可以立即打开连接并创建一个具有单个值的临时表:
SELECT 12345 AS SessionID INTO #context
Run Code Online (Sandbox Code Playgroud)
但这似乎令人难以置信的矫枉过正!