日期:2014-05-17  浏览次数:20402 次

web.config中配置数据库连接的问题!
下载了个例程,使用VS-2005+SQL2000编写的,我用VS2008+SQL2000将其打开,查看其web.config中数据库连接设置时发现配置方式为:
方式1:
<add key="SMS_dbconn" value="server=.;Pooling=true;Min Pool Size=10;Max Pool Size=200;packet size=4096;data source=(local);initial catalog=SMSstudent;uid=yg;pwd=yg"/>

  而我之前一般是这样配置的:方式2:
<add key ="SMS_dbconn" value="Server=(local);Persist Security Info =false;Integrated Security =False;user id=yg;password=yg;database=SMSstudent;"/>
   
  我试着将方式2替代方式1,发现运行正常,没发现区别,请问一下:
(1)这两种连接方式有哪些区别呢?
(2)Pooling=true;Min Pool Size=10;Max Pool Size=200;packet size=4096;代表着甚意思呢?
(3)方式2用的Server=(local);database=SMSstudent;另一个用的server=.;data source=(local);initial catalog=SMSstudent;
  效果上有啥异同呢?
我是新手,麻烦各位老手给详细解释下,谢谢了!
 

------解决方案--------------------
(1)pooling=false是关闭连接池,pooling=TRUE是启用连接池,系统默认的是开启。 连接池是一些与数据库有关连接的存放地方,当你需要建立某个连接时,如果它已存在与连接池就不需要新建连接了,速度更快,所以建议还是开启。

(2)当使用window身份认证模式时,会为每一个window用户,创建一个连接池,当使用sql server身份认证模式时,只要连接字符串相同,系统只维护一个连接池,所以使用sql server身份认证模式时,从性能上来说,会更好一点

Connection Lifetime
0
当数据库连接被返回到连接池中时,它的创建时间将与当前时间比较,如果超过了Connection Lifetime规定的时间,它将被释放掉。
为0时将被视为最大连接时间。

Enlist
'true'
当此值为true时,池中现存的所有数据库连接将被加入到它的创建线程的Transaction Context中。如果不存在这个Transaction Context则无任何变化。

Max Pool Size
100
连接池能建立的最大数据库连接数。

Min Pool Size
0
连接池要保持的最小数据库连接数。

Pooling
'true'
当设为true时,数据库连接将由相应的连接池管理。

(3)server=.;与Server=(local);是一样的,都是连接当前电脑的数据库