作者系2月份微软社区之星microsoft china community star
微软出品的sql server是windows环境中常用的一种数据库服务器软件,也是asp应用中经常用到的数据库之一。本文主要讲述sql server与asp结合使用的一些技巧。
一、sql server的获取和安装
如果是商业应用,建议购买sql server的标准版或者企业版,价格2万多(比windows还贵);如果是个人学习使用,或者财力有限,可以使用桌面版——msde。目前在.net framework sdk、asp.net web matrix、office xp professional, developer、project server 2002、开发工具以及服务器类软件中都有附带。另外在微软站点提供的sql server sp3中也含有msde,还是sp3版的。因为是简化版本,所以msde不提供图形化管理工具。
由于sql server是向导安装,这里不再赘述。有一点需要注意的是:安装时应选择“sql和windows集成混合验证”方式。对于已经安装的数据库服务器,可以在其属性窗口的“安全性”页里修改。
msde sp3可以在http://www.microsoft.com/china/sql/downloads/sp3.asp下载。在页面右边选择语言,点“go”按钮即可进入下载页面。其中中文简体的文件名是chs_sql2kdesksp3.exe,大小为73735 kb。运行此文件,将安装程序解压缩到某文件夹。因为我们需要msde工作在sql验证方式下,而且sp3版要求sa密码不能为空白,所以需要修改setup.ini文件,在[option]小节添加以下两行:
securitymode=sql
sapwd=管理密码
然后到dos下执行setup /i setup\sqlrun01.msi /settings setup.ini即可。装好以后,开始菜单的启动组会增加一个“服务管理器”图标。至此安装完毕。重启动电脑或者运行服务管理器均可启动数据库服务器。
二、在asp中使用数据库
大家在asp中连接sql server时,经常会出现80004005错误。这是由于数据库服务器被设置为windows集成验证方式,而asp默认使用的帐户被禁止访问数据库造成的。解决的方法就是把数据库服务器设置为混合验证模式,使之允许通过用户名和密码登陆数据库。
撰写oledb字符串是另一个困扰很多人的问题。其实方法很简单。以连接sql server为例:
1、建立一个扩展名为udl的文件,并打开
2、在“提供程序”页选择microsoft ole db provider for sql server,然后回到“连接”页,输入数据库服务器的地址,并选择“使用指定的用户名称和密码”,输入连接数据库的用户名和密码,然后在“在服务器上选择数据库”下拉框里选择或者输入要使用的数据库名称即可。最后可以点击“测试连接”按钮测试参数是否正确。注意不能选择“使用windowsnt集成安全设置”,否则即使测试成功,也不能在asp里用。
3、最后用2000/xp的记事本或者word之类的程序打开这个文件,第3行就是oledb连接字符串。
三、导入数据库
一般的使用sql server的论坛都会提供一个sql文件来建立数据库结构。下面分别讲解在sql server和msde中调用sql文件的方法:
sql server环境下:
运行“企业管理器”,在服务器下的“数据库”节点上点右键,选“新建数据库”,然后在出现的数据库属性窗口里输入数据库的名字。
运行“sql查询分析器”,在工具栏上选择刚才建立的数据库,然后调入论坛附带的sql文件并执行。数据库就建立好了
msde环境下:
因为msde没有提供图形化管理工具,所以需要用命令行工具osql.exe来进行此过程。
如果用管理员用户登陆windows,可以运行以下语句建立一个名为ibb的数据库:
osql -e -q "create database ibb"
其中-e表示使用windowsnt集成验证方式,运行后需要输入登陆windows的密码。如果使用其他用户登陆,需要用以下格式:
osql -u sa -q "create database ibb"
运行后需要输入sa用户对应的密码。
建立数据库之后,需要运行sql文件建立库结构。输入:
osql -e -i xxxx.sql
即可建立数据库结构。
