asp连接数据库的代码方法

asp连接数据库的代码方法

-----access

Dim db,conn,connstr
db="data/bluered.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="DBQ="+server.mappath("db")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'connstr="Driver={microsoft access driver (*.mdb)};DBQ=" & Server.MapPath(db)
'connstr="dsn=bluered;"
conn.open connstr


-----sqlserver

Set conn=Server.CreateObject("ADODB.Connection")
on error resume next
connstr="Provider=SQLOLEDB;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=msdb;Data Source=localhost;Connect Timeout=15" 
conn.Open connstr


一、ASP的对象存取数据库方法
在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command
Connection:负责打开或连接数据
Recordset:负责存取数据表
Command:负责对数据库执行行动查询命令

二、连接各数据库的驱动程序
连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。

ODBC链接

适合数据库类型 链接方式 
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" 
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" 
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" 
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;" 
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;" 
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;" 
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;" 


OLEDB链接

适合的数据库类型 链接方式 
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;" 
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" 
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;" 
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'" 


而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("../db/bbs.mdb")

其中../db/bbs.mdb是你的数据库存放的相对路径!如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")

有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了。 

解决了ACCESS数据库路径的问题!
'采用DBType=0或DBType=1来区分AC库还是MSSQL库
'具体采用AC库时应注意的事项,请看程序说明
Dim DBType,Conn,StrConn
DBType=0        '0为Access数据库,1为MSSQL数据库


 

 

If(DBType=0) Then
'********************************ACCESS数据库*************************************
Dim DbFolderName,DbFolder_Path,SiteFolder
DbFolderName="ArticleData"   '数据库所在文件夹名称
DbFolder_Path = Server.MapPath(DbFolderName)   '数据库所在路径
SiteFolder="Article"                    '系统所在根目录名称

   If Session("Root") = "" Then 
        Session("Root") = Mid(DbFolder_Path, 1, InStr(1,DbFolder_Path,SiteFolder,1) -1) & SiteFolder 
   End if
   Set Conn = Server.CreateObject("Adodb.Connection")
   StrConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Session("Root") & "/"& DbFolderName & "/Data.mdb"  '连接到数据库
   Conn.Open StrConn
'**********************************************************************************
ElseIf(DBType=1) Then
'*****************************MSSQL SERVER数据库*************************************
   Dim DBUserID,DBPassWord,DBName,DBIP
   '修改以下信息以适合你的网站
   DBUserID="sa"  '数据库登陆名
   DBPassWord=""  '数据库密码
   DBName="dbname" '数据库名称
   DBIP="local" '数据库所在地址,如果是本地数据库则为:(local)

   Set Conn=Server.CreateObject("Adodb.Connection")
   StrConn = "PROVIDER=SQLOLEDB.1;Data Source="&DBIP&";Initial Catalog="&DBName&";Persist Security Info=True;User ID="&DBUserID&";Password="&DBPassWord&";Connect Timeout=30"
   Conn.Open StrConn
'**********************************************************************************
Else
'***********************数据库设置错误*************************************************
   Response.Write"数据库设置错误,请联系管理员!"
   Response.End
End If
'Response.Write StrConn


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值