在ASP中使用SQL Server和MSDE
作者系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可以在下载。在页面右边选择语言,点“Go”按钮即可进入下载页面。其中中文简体的文件名是CHS_SQL2KDeskSP3.exe,大小为73735 KB。运行此文件,将安装程序解压缩到某文件夹。因为我们需要MSDE工作在SQL验证方式下,而且SP3版要求sa密码不能为空白,所以需要修改setup.ini文件,在[Option]小节添加以下两行:
SECURITYMODE=SQL
SAPWD=管理密码
然后到DOS下执行setup /i SetupSqlRun01.msi /settings setup.ini即可。装好以后,开始菜单的启动组会增加一个“服务管理器”图标。至此安装完毕。重启动电脑或者运行服务管理器均可启动数据库服务器。
大家在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
即可建立数据库结构。