(c# Data Access 1) 与数据库连接

 

     为了向用户提供数据,一个数据库必须使用一些媒介与用户交流,然而当数据库拥有越来越多可爱的用户时,交流就变成一件很困难的事情。因为这些用户可能使用不同的媒介进行沟通,比如用户ATCP/Ip, 而用户B在数据库所在的机器上工作,使用共享内存的方式。为了解决这类问题就有了Net-Library抽象层,它向用户与数据库提供通讯服务,使得数据库不用关心具体的通信媒介。Net-Library包括客户端和服务器端。当用户需要与数据库通信时,她把数据送到Net-Library的客户端,由客户端发送到Net-Library的服务器端,当然实际的过程要比这复杂一点,因为还要经过加密处理。

     好了,沟通渠道,这回有了,那么具体怎么沟通数据库才能给我想到的东西呢。Osamede又深入回忆了下,想起来一些东西。原来数据库就是我们院的一个教授,虽然热心,但也不会随便指点别人,首先我必须是他的学生(身份验证),其次他得为我备过课(分配资源)。

     为了得到服务,客户端需要向数据库发送一个连接请求,请求中包括能验证身份的信息(客户端与数据库使用了一个应用层协议解析数据,具体细节隐藏在ODBC,OLE DB等等接口的driver中),引发数据库端的一个Connect event发生,触发 Open Data Services (ODS) 调用这个eventhander,判断请求中的用户信息是否有访问权限。如果用户具有访问权限,那么hander会允许用户建立一个与数据库的连接。这里ODS的脚色相当于一个 client manager ,是客户端和数据库服务进程的桥梁,hander允许建立连接后,它会为用户分配输入输出缓存。

下面是一张图,From <<inside sqlsever 2000>>

SQL Server 2000's Net-Library Architecture

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值