我想创建与SQL Server express 2014连接的网站。
我希望我的系统用户拥有他/她自己的连接,而不是与他人分享。
我开始使用相同的用户ID进行测试,并在我的连接字符串中添加“POOLING = FALSE”,然后编写一个打开连接的测试程序,从不关闭连接。
在SQL Server Profiler中,服务器将登录并为该连接分配新的SPID,但有时连接意外关闭。
我想知道这里发生了什么,如何为每个登录用户创建sql连接,如何在连接空闲时设置连接的生命周期?
非常感谢!!!
Here is the result I got in Profiler:
....
Audit Login,SPID =305
Audit Login,SPID =306
Audit Login,SPID =307
Audit Login,SPID =308
Audit Logout,SPID =171
Audit Logout,SPID =188
Audit Logout,SPID =165
...
Audit Login,.... SPID =171.... (Reuse the released SPID)
最诚挚的问候,
Mark Yip
感谢您的回复!
我希望每个登录用户都有一个单独的连接用于特殊目的,
这是我的实际问题......
如果有记录,请说出学生记录。
过去,我会在每次更新记录之前检查时间戳,以防止其他用户在编辑时修改相同的记录,如果时间戳不同,则拒绝用户的更新由于记录已被其他人更新。我不知道这是最好的做法。
现在,如果我为所有活动登录用户创建连接...
如果用户想要编辑记录,我将使用指定的连接 - begin tran并将“locked by”列更新为连接的SPID。
当其他用户想要编辑此记录时,
我将运行此查询:从学生中选择x,y,x,“lockedBy”(nolock),其中id = 1
如果被锁定不为空,则表示该记录正在通过其他连接进行编辑,将向用户显示一条消息,
“记录正由他人编辑,请稍后再试!”
我是否会朝着错误的方向思考这个问题?
再一次,非常感谢!
最诚挚的问候,
标记