初学ASP网页编程技术,总是遇到链接数据库是败,现在收集整理的一些相关资料,以防忘记
用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法:
一、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'" |
注意Driver或者Provider等号右边的表达式写法:比如:Driver={Microsoft Access Driver (*.mdb)}; "Driver"和"(*.mdb)"之间一定要有"空格",要和ODBC数据源管理器(不用配置这里)中描述的数据源驱动程序名称一模一样才可以测试成功,否则就会提示"【Microsoft】【ODBC驱动程序管理器】未发现数据源名称并且未指定驱动程序"
连接Access数据库有3种方式:即建立DSN(数据源名),使用非DSN和OLE DB
一 ,用DSN方式连接
1,点击开始->控制面板->管理工具->ODBC数据管理器,选择“系统DSN”选项卡,点“添加”,在弹出的“创建新数据源”窗口中选择Microsoft Access Driver(*.mdb);点击完成。
2,填ODBC Microsoft Access安装窗口的数据源名(自拟,最好能说明数据库的基本信息,如功能,这里假设为Game),点“选择”按钮,找到你建立的数据库的位置,选中文件,点击“确定”按钮,至此,DSN创建成功
通过DSN访问数据库的完整代码如下
<%
Dim conn
Set conn=Server.CreateObiect("ADODB.Connection")
conn.Open "DSN=Game"
%>
二,通过ADO连接数据库,代码如下
<%
Dim conn
Set conn=Server.CreateObiect("ADODB.Connection") ---声明变量conn,是ASP程序与数据库建立链接
conn.open "Driver={Microsoft Access Driver(*.mdb)};DBQ="&Server.MapPath(Database/db_school.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
%>
1, Driver={Microsoft Access Driver(*.mdb)};该句指定系统使用Access ODBC驱动处理
2., DBQ:用于指定大考的额数据库文件,它必须是完整的数据库路径。例如"C:/inetpub/wwwroot/Database/db_school.mdb"
3, Server.MapPath:该方法用于获取数据库的完整路径,放置程序的目录发生变化不会影响执行
同理,也可以连接Excel电子表格
三,通过OLE DB链接数据库
OLE DB是基于COM模型的数据库访问接口,是一种驱动程序级别的底层数据访问界面
1,连接字符串的标准访问方式如下:
<%
Dim oConn
Set oConn=Server.CreateObject("ADODB.Connection")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0; _
Data Source=&Server.MpPath("Database/myDb.mdb")&;_
Persist Security Info=False"
Set rs=Server.CreateObject("ADODB.Recordset)
%>
Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存
大多数情况下,我们使用的是小型数据库Microsoft 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")
有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了