呃, 这个问题是指的DB2数据库么,还是泛指数据库?网络的会话层么, 唉,网络相关的知识差不多都还给老师了。。。Just my two cents,Oracle 数据库有session这个说法,还有V$SESSION 视图。 DB2 LUW里的 session 概念比较淡化,很多时候和 connection 当成一回事。当应用程序连接到数...
显示全部呃, 这个问题是指的DB2数据库么,还是泛指数据库?
网络的会话层么, 唉,网络相关的知识差不多都还给老师了。。。
Just my two cents,
Oracle 数据库有session这个说法,还有V$SESSION 视图。 DB2 LUW里的 session 概念比较淡化,很多时候和 connection 当成一回事。
当应用程序连接到数据库服务器,即建立了一个connection,我们可以认为一个session开始,也就是应用程序可以执行SQL语句了。这期间可以执行多个SQL语句,可以一个语句作为一个transaction,也可以几个语句作为一个transaction。最后,应用程序断开connection,这个session结束。一个直观的例子是打开一个terminal,连上数据库,开始会话,可以执行各种SQL,然后关掉terminal,连接断开,会话结束。
这样看来session是一个logical的概念。相对来说,connection倒是一个实实在在的操作(应用程序所在的机器和数据库服务器所在的机器,两个socket之间建立了连接,以及各种验证)。
要对应上网络模型,这是两个东西吧。。。。非要对应一下的话,是不是可以这样说,session以及transaction (会话以及事务管理)一起来对应网络的会话层,数据库的connection对应传输层。
仅供参考。
收起