康柏仕电脑学院Microsoft Windows交流平台Dreamweaver网站设计交流区 → ASP连接数据库简介


  共有11591人关注过本帖树形打印复制链接

主题:ASP连接数据库简介

帅哥哟,离线,有人找我吗?
superpch
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 家人主人
等级:管理员 帖子:989 积分:8911 威望:0 精华:7 注册:2005/9/15
ASP连接数据库简介  发帖心情 Post By:2007/8/11 23:27:58 [只看该作者]

任何一个要访问数据库的ASP脚本都必须首先在服务器上打开数据库,
我们有两种方法:
.通过DSN建立连接
.不用DSN建立连接

一个DSN连接需要服务器的系统管理员在服务器上用控制面板中的ODBC
工具设置一个DSN,或者使用一个第三方的服务器组件,让你的ASP脚本
在需要时通过修改注册表建立DSN.我将提供一个DSN建立组件供下载.

一个DSN连接通常需要的参数有:DSN名,用户名,口令,例如我们用用户名
"student",口令"magic",通过DSN"student"建立连接:

1. set conntemp=server.createobject("adodb.connection")
2. conntemp.open "DSN=Student; uid=student; pwd=magic"
3. set rstemp=conntemp.execute("select * from authors")

如果我们没有DSN,该怎么做呢?
但是我们知道文件名(比如,Access,Paradox,FoxPro的数据库)或者数
据源名(例如,SQLserver的数据库).这里有一个方法,我们不要DSN就
可以访问数据库.注意,你必须知道实际的文件路径!
比如: "C:\thatserver\account17\nwind.mdb".
幸好,方法 server.mappath 可以返回服务器上的地址.

1. set conntemp=server.createobject("adodb.connection")
2. cnpath="DBQ=" & server.mappath("yourtable.mdb")
3. conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath
4. set rstemp=conntemp.execute("select * from authors")

下面是典型的 DRIVER 参数值 :

{Microsoft Access Driver (*.mdb)}
driver=SQL Server; server=127.0.0.1
^ SQLServer 的 IP 地址

对于数据库的连接文件(常用的是conn.asp),我有两个建议,一是在网上最好使用手写的连接文件(下面详细讲如何写),二是引用数据库时要在文件开头使用<!--#include file="Connections/conn.asp" -->,调用数据库,这样数据库的名字或位置的改变就比较容易了。
其次,解释一下如何写一个conn.asp文件。最简单的是
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("data/database.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>


<%
set conn=server.createobject("ADODB.CONNECTION")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/database.mdb")
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("data/database.mdb")
conn.open connstr
%>



关于 server.mappath("data/database.mdb")解释一下。本例使用的是相对路径,意思是conn.asp与data目录在同一个目录下。如果conn.asp所在目录与data目录在同一个目录下,则为server.mappath("../data/database.mdb") 。
也可以使用绝对路径 server.mappath("/data/database.mdb"), 意思是data为根目录,与conn.asp在那里没有关系

最后是关于使用sql数据库的问题,不同的主页服务商是不同的。下面是CHINADNS新网的解决方法,供大家参考。

1.安装一个SQLSERVER的客户端软件
2.点击在本机任务栏中开始-〉MicrosoftSqlServer2000-〉EnterpriseManager
3.在打开SQLSERVER客户端软件后,在文件栏中点击Action中的NewSqlServer
Registration,然后填写您的sqlserver的IP地址,用户名和密码(与FTP的用户名密码相同)在点击完成后,将会出现211.154.211.xx――RegisteredSuccessfully,这说明您的数据库已经开通。
4.在ConsoleRoot中选择您数据库的IP,点击鼠标右建选择Connect,正常网速下应出现一个连接成功的图标。
5.连接成功后,选择211.154.211.xx-〉Database-〉www_domainname_com,打开您的数据库
6.打开Tables,,将显示出所有类型为System的列表,您可以用鼠标右建中NewTable建表,或用OpenTable查看表内容。您也可以用选用步骤2中的import或output进行倒入,倒出表操作相关的操作请您查看相关网页和书籍。

附:
ASP连接数据库相关源代码参考
1.ASP连接Access数据库语句

SetConn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("aaa/bbspp1.mdb")+";DefaultDir=;DRIVER={Microsoft AccessDriver(*.mdb)};DriverId=25;FIL=MSAccess; ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
Conn.Openconnstr

其中SetConn=Server.CreateObject("ADODB.Connection")为建立一个访问数据的对象server.mappath(aaa/bbspp1.mdb)是告诉服务器access数据库访问的路径

2.ASP连接Sqlserver数据库语句

Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={SQLServer};server=202.108.32.94; uid=USERID;pwd=PASSWORD;database=test"
connopen                   
其中/Setconn=Server.CreateObject("ADODB.Connection")为设置一个数据库的连接对象
driver=()告诉连接的设备名是SQL-SERVER
server是连接的服务器的ip地址,Uid是指用户的用户名,pwd是指的用户的password,
database是用户数据库在服务器端的数据库的名称



台湾正航ERP华南技术中心
正航软件-企业ERP最佳选择,主要模块有ERP,CRM,HRM,BI,MES
http://www.combss.com  0769-81158210  13378605992
 回到顶部