📄 sql server常见问题-7.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> 数据访问-与数据库建立连接</p>
<p><br>
ASP,也不属于某个 Session,或者某个 Application。</p>
<p>WAST 是我常用的测试工具,但是测试是一种手段,代替不了实际。如果你对 WAST<br>
的工作方式感兴趣,可以到它的主页去看看。 <br>
http://webtool.rte.microsoft.com/ </p>
<p>4. 为多个 RecordSet创建一个 Connection 对象</p>
<p>Dim cnn,rs1,rs2,r3<br>
strcnn = "Driver={SQL Server};Server=.;Database=pubs;UID=sa;PWD=;OLE DB
Services=-1;"<br>
Set cnn = Server.CreateObject("ADODB.Connection")<br>
cnn.Open strcnn<br>
Set rs1 = Server.CreateObject("ADODB.Recordset")<br>
rs1.Open "SELECT * FROM Authors1",cnn<br>
Set rs2 = Server.CreateObject("ADODB.Recordset")<br>
rs2.Open "SELECT * FROM Authors2",cnn<br>
Set rs3 = Server.CreateObject("ADODB.Recordset")<br>
rs3.Open "SELECT * FROM Authors3",cnn<br>
.....</p>
<p>道理很简单,这种做法不需要为每一个 RecordSet 创建一个连接,只要传递一个引用就够了。</p>
<p>5. 与多个数据库连接的问题。</p>
<p>在大部份应用中,我们只对一个数据库进行操作,但有时也会碰到与多个数据库连接的情况。</p>
<p> 下面我们讨论两种连接方式:</p>
<p>'第一种:两个 Connection,两个 RecordSet。<br>
Set cnn1 = Server.CreateObject("ADODB.Connection")<br>
Set cnn2 = Server.CreateObject("ADODB.Connection")<br>
cnn1.Open "provider=sqloledb;data source=210.75.56.37;initial catalog=pubs;user
<br>
id=coolbel;password=coolbel.com;"<br>
cnn2.Open "provider=sqloledb;data source=210.75.56.37;initial catalog=coolbel;user
<br>
id=coolbel;password=coolbel.com;"<br>
Set rs1 = Server.CreateObject("ADODB.RecordSet")<br>
Set rs2 = Server.CreateObject("ADODB.RecordSet")<br>
rs1.Open "select * from authors",cnn1<br>
rs2.Open "select * from mytable",cnn2<br>
......</p>
<p>'第二种:一个 Connection,两个 RecordSet。<br>
Set cnn = Server.CreateObject("ADODB.Connection")<br>
cnn.Open "provider=sqloledb;data source=210.75.56.37;user id=coolbel;password=coolbel.com;"<br>
Set rs1 = Server.CreateObject("ADODB.RecordSet")<br>
Set rs2 = Server.CreateObject("ADODB.RecordSet")<br>
rs1.Open "select * from pubs..authors",cnn<br>
rs2.Open "select * from coolbel..mytable",cnn<br>
......</p>
<p><br>
第二种方法极不可取,不仅速度低,而且浪费资源。其效率低下的根本原因在于这种连接方<br>
式没有利用连接池,使得每一次请求都要重新创建与数据库的连接。</p>
<p>Click!测试第一种代码 Click!测试第二种代码 ( coolbel 不稳定,需要多测试几遍。)</p>
<p>6. 对于 Disconnected RecordSet,不要忘记使 ActiveConnection = Nothing</p>
<p> </p>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -