介绍如何使用 ActiveX 数据对象 (ADO) 在 ASP 脚本中建立到 SQL Server 的连接,同时利用 ODBC 3.0 的连接池功能。
连接池
启用 ODBC 连接池。
有关连接池的其他信息以及有关如何启用连接池功能的说明,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
164221 INFO:如何在 ODBC 应用程序中启用连接池
ODBC DSN
使用“ODBC 管理器”,在安装了 Microsoft Internet Information Server (IIS) 的计算机上创建一个系统数据源名称 (DSN)。指定一次连接属性,然后在每个页面上重新使用此属性。例如,在 Global.asa 文件的“Session_OnStart”事件中,将连接属性定义为:
确保满足下列所有条件:
• “系统 DSN”定义中没有选中“受信任连接”框。
• SQL Server 安全模式不是“Windows NT 集成”。
• 在连接属性中,uid 不为空。
否则,到 SQL Server 的连接可能会失败,并收到以下错误消息:
Microsoft OLE DB provider for ODBC Drivers error ‘80004005′
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User:_
Reason: Not defined as a valid user of a trusted SQL Server connection.
Global.asa是否使用 Global.asa 文件是可选的。在其位置上,在此文件中创建的条目通常可以放到应用程序调用的第一页上。假定 ASP 脚本位于一个在“Internet 服务管理器”中没有定义为虚拟目录的文件夹中,而是位于另一个虚拟目录下面,那么包含 Session 变量和 DSN 定义的 Global.asa 文件就必须保留在该虚拟目录中。否则,将收到以下错误消息:
Microsoft OLE DB Provider for ODBC Drivers error ‘80004005′
[Microsoft][ODBC Driver Manager] Data source name not found and no
default driver specified
ASP 脚本中的连接
通过打开和关闭到每个 Active Server Pages 上的数据库的连接来利用连接池。要打开该连接,请在页面的
要关闭该连接,请直接将以下内容放到 标记后:
如果没有按照本文前面介绍的那样正确定义连接设置,您可能会收到以下两条错误消息:
Microsoft OLE DB Provider for ODBC Drivers error ‘80004005′
[Microsoft][ODBC SQL Server Driver][DBNMPNTW]Connection broken.
- 或者 -
Microsoft OLE DB Provider for ODBC Drivers error ‘80004005′
[Microsoft][ODBC SQL Server Driver]Communication link failure
此处是一个包含 Global.asa 和 Authors.asp 文件的示例应用程序。此示例应用程序将返回名为“authors”的“pubs”表中的四列和所有记录。
注意:您必须先将 UID
Global.asa
Authors.asp
适用于:
• Microsoft SQL Server 2000 标准版
• Microsoft SQL Server 7.0 标准版
• Microsoft SQL Server 6.5 标准版
• Microsoft SQL Server 6.0 标准版
• Microsoft SQL Server 4.21a 标准版
• Microsoft Internet Information Server 4.0
• Microsoft Internet Information Server 3.0
• Microsoft Internet Information Services 5.0
• Microsoft SQL Server 2005 Standard Edition
• Microsoft SQL Server 2005 Express Edition
• Microsoft SQL Server 2005 Developer Edition
• Microsoft SQL 2005 Server Enterprise
• Microsoft SQL 2005 Server Workgroup
Leave a reply