任何一个要访问数据库的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是用户数据库在服务器端的数据库的名称