一、先建立一个用来测试的数据库StuDB
第一步:启动SQL Server 2000或2005数据库,进入“SQL Server Enterprise Manager“管理界面,右键点击[服务器名]选择[新键][Database]进入”Database Porperties“界面。
第二步:在图1中的“Name“里输入数据库名StuDB。在”Automatically“前面的复选框里打勾,即使SQL Server能够自动地按需要增加数据库文件的大小。单击“确定”完成数据库的创建。
二、 接下来就以我们创建好的StuDB数据库为例,讲怎样用Odbc连SQL Server数据库的几种方法。
ASP脚本中可以通过三种方式访问数据库:
● IDC(Internet Database Connector)方式
● ADO(ActiveX Data Objects)方式
● RDS(Remote Data Service)方式
我最喜欢的是第二种方式,即ADO(灵活的数据对象)
下面来说说ActiveX数据对象(ADO)方式:
ADO(ActiveX Data Object),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。
ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下:
Connection对象:负责打开或连接数据库文件;
Recordset对象:存取数据库的内容;
Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。
这种三步方式确实对ASP和JSP连接数据库都适用:
A连接:得到数据库入口
B获取数据集:得到表记录入口
C查询数据表:数据表操作第一步,得到想要的数据记录
利用ADO组件连接数据库有(红色字部分可能需要修改):
//第一种写法:
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=123456;database=StuDB;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM stu_table ORDER BY ID DESC"
RS.open SQL,CONN,3,3
初始进行数据库连接时,我建议使用sa用户,并且在SQL server属性中设置(进入管理器)sql server 和windows混合登录模式,不然容易出现“访问的数据库无效”等错误
//第二种写法:(DSN连接)
MM_conn_STRING="DSN=STU;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM stu_table ORDER BY ID DESC"
RS.open SQL,CONN,3,3 // 3,3是修改、删除、增加开关!
建立DSN数据源的方法网上有很多,也很简单,不过我建议使用“系统数据源”,不要用“用户数据源”或其他。DSN的名字最好和数据库名字不一样,比如数据库叫StuDB,但DSN叫STU。
(local)我本人习惯使用IP地址,如果是在自己的计算机上测试则使用127.0.0.1
//第三种 - 这种方法用在ACCESS中
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("asp.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
总结:1、如果出现ADOBD.recordset之类的错误,说明连接代码有问题,查一查MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=123456;database=StuDB;"
2、如果出现“内部服务器错误或500错误”,应该是win2003 server IIS配置错误,处理步骤如下:
1)进入:控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> Active Server Pages -> 允许 (2)控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> 在服务端的包含文件 -> 允许 (3)启用父路径:IIS—>网站—>属性的 主目录 —>配置—>选项-启用父路径 (4)IIS-网站-(具体站点)-(右键)权限-Users完全控制
3、如果出现上传组件无法传送大文件,请参考我写的其他博文或者email给我(onhour @ 126.com)