您现在的位置:软界网技术中心WEB开发ASP > 技术显示
asp在SQL SER2k中新建帐号和给帐号权限的实现
2004-6-17 0:00:00   网友评论       阅读次数 点此评论
   ' 以下为在ASP中增加一个SQL Server2000用户函数,并为建立一个数据库,给他dbo的权限
' ****************注意:sql server的验证方式不要选仅为Windows方式,
' **************** 允许远程sql server连接
' ****************该函数已通过测试****************************
' 有什么问题欢迎和我交流,以后会推出对sql server的一些管理操作程序

' 参数:StrLoginName:新增登录名,StrPwd:登录名的密码,StrDBName:新建数据库名
' 函数内局部变量说明:StrServer:服务器所在机器名(本机为local),StrUid:sql管理员,
' StrSAPwd:sql管理员密码。以上三个变量应根据你的情况设置

' 该函数主要调用系统存储过程来实现的

' 注意:本函数没有容错处理,如出现错误,可以确定是你的sql server设置有问题,或已存在该login帐号或该数据库
' call AddUserToMSSQL('testlogin','iamhere','db_test')

Sub AddUserToMSSQL(StrLoginName,StrPwd,StrDBName)
'定义服务器变量和系统管理员登录信息,根据具体情况修改
Dim StrServer,StrUid,StrSaPwd
StrServer='(local)'
StrUid='sa'
StrSaPwd=''
Dim Conn '数据库连接
Dim StrDSN '数据库连接字符串
Dim StrCmd '命令字符串
StrDSN='driver={SQL server};server='&StrServer&';uid='&StrUid&';pwd='&StrSaPwd&';database=master'
'建立和数据库master的连接
set Conn = Server.CreateObject('ADODB.Connection')
Conn.Open StrDSN
'新建一数据库
StrCmd='CREATE DATABASE '&StrDBName
Conn.execute(StrCmd)
'新建一登录帐号
StrCmd='sp_addlogin ''&StrLoginName&'',''&StrPwd&'',''&StrDBName&'''
Conn.execute(StrCmd)
Conn.Close
'建立与新建数据库的连接,并赋给新登录帐号访问新建数据库的权利
StrDSN='driver={SQL server}; server='&StrServer&';uid='&StrUid&';pwd='&StSarPwd&';database='&StrDBName
StrCmd='sp_grantdbAccess ''&StrLoginName&'''
Conn.Open StrDSN
Conn.execute(StrCmd)
'使新登录帐号成为新建数据库的拥有者
StrCmd='sp_addrolemember 'db_owner',''&StrLoginName&'''
Conn.execute(StrCmd)
'关闭释放连接
Conn.Close
Set Conn=Nothing
Response.Write '用户 '&StrLoginName&' 成功建立!,并且已为他建立了一个数据库 '&StrDBName&'!'
End Sub

 
      来源: 作者:
 
【评论查看】