ASP有多少种连接数据库的方法?主要是SQL Server7.0.

longji 2002-12-17 07:34:53
想请教大家,ASP共有多少种形式连接SQL数据库,我用的是7.0版的。请高手帖一些例子来。如果是一些连接Access的也行。我是初学,请帖出例子来。感谢!!
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
annkie 2002-12-17
  • 打赏
  • 举报
回复




用ADO连接数据库的三种方法及其性能比较


更新日期:2002-10-8 阅读次数:202


ADO连接数据库通常有三种方法:System DSN Connection,DSN-less Connection 和 OLE DB Connection,这是大家都很熟悉的,它们的使用方法如下:

(注:三种方法的区别在于使用的是哪个关键字 - DSN,Driver,Data Source,Provider。UID,PWD 是 ODBC 的标记,User ID,Password 是 OLEDB 的标记。特别指出的是 Data Source 在 ODBC 标记中表示数据源,等同于 DSN,在 OLEDB 标记中表示服务器名或数据库名。)

'System DSN Connection
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "DSN=your_dsn;UID=user_name;PWD=password;"
'或者用 OLEDB 标记
cnn.Open "Data Source=your_dsn;User ID=user_name;Password=password;"

'DSN-less Connection
'以SQL Server为例
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "driver={SQL Server};server=server_name;uid=user_name;pwd=pwd;database=pubs"

'OLE DB Connection
'以SQL Server为例
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "provider=sqloledb;data source=server_name;initial catalog=pubs;user id=user_name;password=pwd;"

下面,我们讨论一下它们各自的性能。

从本质上说,System DSN 和 DSN-less Connection 都是通过 ODBC 与数据库进行连接的,它们之间区别不大(事实上也确实如此)。有很多人说 DSN-less Connection 要优于 System DSN Connection,对这一点我不反对。(是不是前后有些矛盾,刚说它们区别不大,现在又......)我曾经分别对这两种连接测试过,但是失败了。因为我的测试数据没有规律,根本说明不了问题(或许用假设检验能比较两者的性能,不过得算死)。于是我得出了结论:没有结论!后来在网上看到一篇文章 System DSN or DSN-less Connection? 算是有了答案。

结论就是(这是原文):

These tests showed that DSN-less connection were slightly faster than System DSN Connections.The increase in performance was nothing monumental;the greatest performance boost was mere 13% faster with 64 concurrent requests.For one,two,or four concurrent requests,there was virtually no performance improvement.In fact,no noticeable improvement is seen in a DSN-less connection over a System DSN until there are 10 or more concurrent connections.

为什么?因为 System DSN 在连接时要读注册表。

现在只有OLE DB没有说了(打字真累)。OLE DB 比 ODBC 要高效的多。

根本不用测试,这个结论是显而易见的。如果你还有些怀疑,建议去看看 连接池(Connection Pooling)介绍 那里有 MDAC framework 的图示,从图中可以看出,经 ODBC 连接是 ADO-->OLE DB-->ODBC Provider-->ODBC-->driver-->数据库;经 OLE DB 是 ADO-->OLE DB-->DB Provider-->数据库。哪个更直接?当然是 OLE DB!

OLE DB 连接数据库比 ODBC 快,检索数据比 ODBC 快。所以,我建议每一个在网上安家的人:用OLE DB!

Set cnn = Server.CreateObject("ADODB.Connection")
'Connection string for SQL Server
cnn.Open "Provider=SQLOLEDB;Data Source=srvName;Initial Catalog=DBname;User ID=user_id;Password=yourPassword;"

'for Access
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db_path"

连接数据库就是这么容易!


原作者:不详
来 源:不详





annkie 2002-12-17
  • 打赏
  • 举报
回复




ASP中五种连接数据库的方法(转)


更新日期:2002-10-8 阅读次数:295

ASP中五种连接数据库的方法


eNet学院


第一种 - 这种方法用在ACCESS中最多

strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("aspfree.mdb")

set conn = server.createobject("adodb.connection")

conn.open strconn

第二种-这种方法用在SQL SERVER中多

strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;PWD=Password;DATABASE=Database_Name

set conn = server.createobject("adodb.connection")

conn.open strconn

第三种

strconn="Driver={MicrosoftAccessDriver(*.mdb)};" &_

"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:\Inetpub\wwwroot\somedir;uid=LoginID;" &_

"pwd=Password;DriverId=25;FIL=MSAccess;" set conn = server.createobject("adodb.connection")

conn.open strconn

第四种运用系统数据源

The following uses a Data Source Name:

set conn = server.createobject("adodb.connection")

conn.open "Example"

第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源

set rs = server.createobject("adodb.recordset")

rs.open "tblname", "DSNName", 3, 3


原作者:不详
来 源:不详





online 2002-12-17
  • 打赏
  • 举报
回复
建议到这里看看
www.ourfly.com

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧