存档

文章标签 ‘MSSQL.asp’

本文为catseven落伍缩写,已发到落伍者,供catseven落伍。如有引用,请注明出处。
       因为工作,经常要操作数据库,考虑到安全问题,在防火墙中没有开mssql端口。每次遇到必须使用查询分析器的时候,就麻烦了。为了方便工作,写了这个工具。
      可以操作所有ADODB连接的数据库,当然包括MSSQL,MySQL,Access….

     本工具分为两个部分。控制代码和输入代码。
     控制代码就是VBScript部分,可以实现所有逻辑操作,和asp操作一样。
      输入部分就是Link、SQL分别用于输入连接字符串,SQL语句。如果控制代码不调用这些语句,则这部分无实际意义。
       默认,控制代码已经写好一个模板。点击执行,可以执行SQL语句,点击下载,将执行结果保存到Excel中。
       因为能直接操作VbScript,如果要使用,请设置好权限。新建mssql用户,在iis中设置mssql.asp以mssql的身份执行。mssql.asp的访问权限只有mssq用户。mssql对所有文件无任何权限,对mssql.asp只有可读权限。
      代码如下:

<%
Server.ScriptTimeout = 9999
starttime = timer()
cmd = request("cmd")

if request("out")="xls" and trim(cmd)<>"" then
response.ContentType = "application/octet-stream"
response.AddHeader "Content-Disposition", "attachment;filename=执行结果.xls"
execute(cmd)
response.end
end if
%>
<style type="text/css">
form{text-align:center}
textarea{width:100%;height:200px;border:solid 1px #CCC;}
input{height:20px;vertical-align:middle}
input.input{border:solid 1px #CCC;width:40%;line-height:18px;color:#090}
a{font-size:12px;color:#C00;text-decoration:none;}
</style>
<form action="mssql.asp" method="post">
<textarea name="cmd">
<%
if trim(cmd)="" then
%>set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Request("link")

Set Rs=Conn.Execute(Request("sql"))
for i = 0 to Rs.Fields.Count-1
[...]

六 12th, 2010 | Filed under ASP, Share(分享), Show(展示), Thinks(想法)