📄 sql server常见问题-6.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" text="#FFFFFF">
<font color="#009900">数据访问-与数据库建立连接 </font>
<p> 首先要说明的是,直接打开 RecordSet 的方法依然要创建与数据库的连接,只不过是由 ADO 自动完成的。其次,这个 Connection 只有在该页面处理完后才能被释放(不管是
Recordset.Close 还是 Set recordset = Nothing 都不能做到释放该对象)。</p>
<p>Dim rs<br>
Dim strcnn<br>
strcnn = "Driver={SQL Server};Server=.;Database=pubs;UID=sa;PWD=;OLE DB
Services=-1;"<br>
For i = 1 To 20<br>
Set rs = Server.CreateObject("ADODB.Recordset")<br>
rs.Open "SELECT * FROM Authors",strcnn<br>
rs.Close<br>
Set rs = Nothing<br>
Next </p>
<p><br>
运行上面的代码,在性能监视器中你会发现数据库的连接被创建了20个!</p>
<p>Dim cnn,rs<br>
strcnn = "Driver={SQL Server};Server=.;Database=pubs;" &_<br>
"UID=sa;PWD=;OLE DB Services=-1;"<br>
For i = 1 To 20<br>
Set cnn = Server.CreateObject("ADODB.Connection")<br>
cnn.Open strcnn<br>
Set rs = Server.CreateObject("ADODB.Recordset")<br>
rs.Open "SELECT * FROM Authors",cnn<br>
rs.Close<br>
Set rs = Nothing<br>
cnn.Close<br>
Set cnn = Nothing<br>
Next</p>
<p>采用上面的代码,连接数只需要2个!(只为说明问题,不考虑速度)</p>
<p>还有一点要说明的是:服务器处理 ASP 时不是一次只处理一个,也不是一次就把整个页面处理完,没有关闭的连接只会占用更多的资源。所以,尽快的释放 Connection
,使它回到连接池中才是良好的编程习惯。连接池是服务器共享的资源,它不属于某个 </p>
<p><br>
</p>
<p><br>
</p>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -