欢迎各界计算机爱好者加入,弘扬极客精神!

什么是数据库连接?连接和会话之间有什么关系?

0 喜欢 0 不喜欢
最新提问 7月 19, 2016 分类:数据库 | 用户: 黑夜流星雨 (2,078 分)  

10 个回答

3 喜欢 0 不喜欢
 
已采纳
连接

连接就是两个对象的数据传输通道
不同对象连接方式不一样,但本质都是传输物质
如京广高铁是北京和广州的运输通道
数据库连接是数据库客户端与数据库服务器之间的通道,传输数字信息
不能笼统地称数据库连接就是socket连接,数据库连接是基于socket之上的,有自己的数据传输协议。正如http基于socket

会话

会话是基于连接的一个高级抽象
会话可以在连接之前做其它的逻辑处理,使得数据传输更高效
一个会话可以有多个连接,每个连接可以连接到不同的服务器,如数据库主从库。
最新回答 7月 19, 2016 用户: ζއއ、魚忘七秒℡ (4,498 分)  
采纳于 7月 22, 2016 用户:黑夜流星雨
0 喜欢 0 不喜欢
http://blog.csdn.net/ggh19/article/details/22910305

看看这个,,应该会对你有帮助的
最新回答 7月 19, 2016 用户: For | Tomorrow (4,468 分)  
2 喜欢 0 不喜欢

连接:是从客户到Oracle实例的一条物理路径。连接可以是客户端通过网络建立(客户端和数据库不在同一个服务器上),也可能是客户端和数据库都在一个服务器上通过IPC机制建立。

会话是实例中的一个逻辑实体,可以在会话上执行SQL、提交事务等。

连接与会话:一提到连接,很多人第一印象都认为连接对应的就是会话。其实不然在一个连接上可以对应0个、一个、多个会话。会话也可以独立于连接,当然此次连接的状态为空闲状态。同一条物理连接上的会话都是单独而且独立的,每个会话可以使用不同的用户身份。

 

最新回答 7月 19, 2016 用户: 险滩 (3,758 分)  
0 喜欢 0 不喜欢

连接 (connection)与会话 (session)这两个概念均与用户进程 (user process)紧密相关,但二者又具有不同的含义。
连接 :用户进程和 Oracle 实例间的通信通道(communication pathway)。这个通信通道是通过进程间的通信机制(interprocess communication mechanisms)(在同一个计算机上运行用户进程和 Oracle 进程)或网络软件(network software)(当数据库应用程序与 Oracle 服务器运行在不同的计算机上时,就需要通过网络来通信)建立的。
会话 :用户通过用户进程与 Oracle 实例建立的连接[此处连接与上文中的连接含义不同 ,主要指用户和数据库间的联系 ]。例如,当用户启动 SQL*Plus 时必须提供有效的用户名和密码,之后 Oracle 为此用户建立一个会话。从用户开始连接到用户断开连接(或退出数据库应用程序)期间,会话一直持续。
Oracle 数据库中的同一个用户可以同时创建多个会话。例如,用户名/密码为的SCOTT/TIGER 用户可以多次连接到同一个 Oracle 实例。
当系统没有运行在共享服务模式下时,Oracle 为每个用户会话创建一个服务进程(server process)。而当系统运行在共享服务模式下时,多个用户会话可以共享同一个服务进程。

最新回答 7月 20, 2016 用户: big and small (6,158 分)  
0 喜欢 0 不喜欢
连接 (connection)与会话 (session)这两个概念均与用户进程 (user process)紧密相关,但二者又具有不同的含义。
连接 :用户进程和 Oracle 实例间的通信通道(communication pathway)。这个通信通道是通过进程间的通信机制(interprocess communication mechanisms)(在同一个计算机上运行用户进程和 Oracle 进程)或网络软件(network software)(当数据库应用程序与 Oracle 服务器运行在不同的计算机上时,就需要通过网络来通信)建立的。
会话 :用户通过用户进程与 Oracle 实例建立的连接[此处连接与上文中的连接含义不同 ,主要指用户和数据库间的联系 ]。例如,当用户启动 SQL*Plus 时必须提供有效的用户名和密码,之后 Oracle 为此用户建立一个会话。从用户开始连接到用户断开连接(或退出数据库应用程序)期间,会话一直持续。
Oracle 数据库中的同一个用户可以同时创建多个会话。例如,用户名/密码为的SCOTT/TIGER 用户可以多次连接到同一个 Oracle 实例。
当系统没有运行在共享服务模式下时,Oracle 为每个用户会话创建一个服务进程(server process)。而当系统运行在共享服务模式下时,多个用户会话可以共享同一个服务进程。
最新回答 7月 20, 2016 用户: die when I am 27 (4,106 分)  
0 喜欢 0 不喜欢

连接 :用户进程和 Oracle 实例间的通信通道。这个通信通道是通过进程间的通信机制或网络软件建立的。


会话 :用户通过用户进程与 Oracle 实例建立的连接[此处连接与上文中的连接含义不同 ,主要指用户和数据库间的联系 。

最新回答 7月 20, 2016 用户: dav (3,168 分)  
3 喜欢 0 不喜欢

我只说说oracle里的连接和会话

连接 (connection)与会话 (session)这两个概念均与用户进程 (user process)紧密相关,但二者又具有不同的含义。
连接 :用户进程和 Oracle 实例间的通信通道(communication pathway)。这个通信通道是通过进程间的通信机制(interprocess communication mechanisms)(在同一个计算机上运行用户进程和 Oracle 进程)或网络软件(network software)(当数据库应用程序与 Oracle 服务器运行在不同的计算机上时,就需要通过网络来通信)建立的。
会话 :用户通过用户进程与 Oracle 实例建立的连接[此处连接与上文中的连接含义不同 ,主要指用户和数据库间的联系 ]。例如,当用户启动 SQL*Plus 时必须提供有效的用户名和密码,之后 Oracle 为此用户建立一个会话。从用户开始连接到用户断开连接(或退出数据库应用程序)期间,会话一直持续。
Oracle 数据库中的同一个用户可以同时创建多个会话。例如,用户名/密码为的SCOTT/TIGER 用户可以多次连接到同一个 Oracle 实例。
当系统没有运行在共享服务模式下时,Oracle 为每个用户会话创建一个服务进程(server process)。而当系统运行在共享服务模式下时,多个用户会话可以共享同一个服务进程。

 

最新回答 7月 20, 2016 用户: general (4,610 分)  
1 喜欢 0 不喜欢
连接不是会话的同义词。一个连接可能有零个、一个或多个建立在其上的会话。即一个连接的存在并不一定伴随着对应的会话存在。另外,一个会话不一定有连接。一个物理连接可以被客户端删除,只保留一个空闲会话,当客户端要在会话中完成一系列操作时,就需要重新建立物理连接。

每个会话是分开且独立的,即使它们共享一个同样的物理连接到数据库,会话中的某个提交不影响在该连接上的任何其他会话。使用该连接的每个会话可以使用不同用户身份。

连接:一个连接是一个从客户端到一个数据库实例的物理通道。一个连接通过网络或者通过IPC机制建立连接。最典型的连接时建立在哭护短进程和专用服务器或共享服务器之间。然而,使用Oracle的连接管理器(CMAN)时,一个连接可以是在客户端与CMAN之间或CMAN与数据库之间。

IPC(Inter-Process Communication):进程间通信或者跨进程通信,是指进程间进行数据狡猾的过程,任何一个操作系统都需要相应的IPC机制,比如Windows上可以通过剪贴板等进行进程间通信。
最新回答 7月 21, 2016 用户: 柠夏初开澄澈未谢 (2,920 分)  
0 喜欢 0 不喜欢
1.数据库的会话

在连接数据库与断开连接之间的时间被称为一个数据会话。

2.与数据库建立连接

使用CONNECT关键字,例子

CONNECT TO USER user_id

为数据库连接命名,语句

CONNECT AS connection_identifier

终止与数据库的连接

DISCONNECT connection_indentifier

不同的数据库管理系统,可能有其特有的语法,需参考其说明文档。

3.会话长度

这就是指我在PHP与MySQL的连接中接触到的长连接和短连接吗?

长连接:在工作开始时保持连接,并保持连接至工作结束。它可以消除重复连接与断开操作的开销,但同时也阻止了其他用户在该连接闲置时利用该连接的可能。

短连接:在与数据库的交互发生之前与该数据库建立连接,并且在结束交互之后立即断开与该数据库的连接。

不理解使用这两种策略的底线(详情见《SQL语言详解》第3版P188)。也就是说,我不明白什么应该使用长连接、什么时候应该使用短连接。
最新回答 7月 21, 2016 用户: Mr.w (1,504 分)  
...