《SQL Server Online Manager》SQL Server 在线管理

Modified By toby57

有时候需要在线管理SQLServer数据库,手上马儿自带的功能太不直观方便,于是在网上找到了BBSGOOD的mssql_online_v1.0beta,不过发现其文件过多,不方便上传,今天花点时间把功能都修改整合成了一个文件。

代码如下(SQLServer.asp):

<%
if trim(request.Cookies("linkok"))<>"yes" then
if trim(request.QueryString("login"))="login" then
    Response.Cookies("ipdress")=trim(request.Form("ipdress"))
    Response.Cookies("dataname")=trim(request.Form("dataname"))
    Response.Cookies("username")=trim(request.Form("username"))
    Response.Cookies("password")=trim(request.Form("password"))
    LinkData
    if trim(request.Cookies("linkok"))="yes" then
        closedata
        Response.Redirect "SQLServer.asp"
    end if
else
%>
<html>
<head>
<title>SQL Server Manager(Modified By toby57 2011.2.20)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style>
body {
    margin-top: 130px;
    background-image: url(images/bg.jpg);
    background-repeat: repeat-x;
}
body,td,th {
    font-size: 12px;
    font-family: Segoe Script;
    font-style:bold;
    color: #333333;
}
</style>
</head>
<body>
<table width="601" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr style="line-height:25px">
    <td width="1" bgcolor="#dadada"></td>
    <td width="350" align="center" valign="top"><table width="90%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="80" colspan="2"><strong><font color="#006699" size="3">SQL Server Login Panel</font></strong></td>
      </tr>
      <tr><form action="?login=login" method="post" id=form1 name=form1>
        <td width="40%" height="50" align="left" valign="middle"><strong>IP</strong></td>
        <td width="60%" height="50" align="left" valign="middle"><input name="ipdress" type="text" size="20" value="127.0.0.1"/></td>
      </tr>
      <tr>
        <td width="40%" height="40" align="left" valign="middle"><strong>username</strong></td>
        <td width="60%" height="40" align="left" valign="middle"><input name="username" type="text" size="20" /></td>
      </tr>
      <tr>
        <td width="40%" height="40" align="left" valign="middle"><strong>password</strong></td>
        <td width="60%" height="40" align="left" valign="middle"><input name="password" type="password" size="20" /></td>
      </tr>
      <tr>
        <td width="40%" height="40" align="left" valign="middle"><strong>dbname</strong></td>
        <td width="60%" height="40" align="left" valign="middle"><input name="dataname" type="text" size="20" /></td>
      </tr>
      <tr>
        <td height="40" align="left" valign="middle"></td>
        <td height="40" align="left" valign="middle"><input type="submit" value="Login" /></td>
      </tr>
    </table></td></form>
  </tr>
</table>
<%
end if
else
%>
<html>
<body bgcolor="#2663e0">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style>
td {   font-size: 10pt ;font-family: Fixedsys;color:#ffffff;}
P  {   font-size: 10pt ;color:#ffffff;}
font {   font-size: 10pt ;font-family: Fixedsys;color:#ffffff;}
A:link   {color:#ffffff;font-style: normal; text-decoration: none; cursor: hand;}
A:visited   {color:#ffffff;font-style: normal; text-decoration: none;}
A:active    {color:#ffffff;font-style: normal; text-decoration: none;}
A:hover  {color:#ffffff;font-style:bold; text-decoration:underline;}
</style>
</head>
<center><font color="#ffffff"><b>SQL Server Online Manager</b></font></center>
<table align="center" cellpadding="5" cellspacing="0">
<tr><td height="10"></td></tr>
<tr><td height="30"><a href="?cz=1" target="right">->Database(<%=Request.Cookies("dataname")%>)</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td height="30"><a href="?cz=12" target="_top">->Logout</a></td></tr>
</table>
<%
    dim cz
    if not IsObject(conn) then
        LinkData
    end if
    if request.QueryString("cz")="" then
    cz = 1
    else
    cz = request.QueryString("cz")
    end if
    Response.Write "<table border=""0"" width=""100%""><tr><td valign=""top"">"
    select case clng(cz)
    case 12
        CloseData
        Response.Cookies("ipdress")=""
        Response.Cookies("dataname")=""
        Response.Cookies("username")=""
        Response.Cookies("password")=""
        Response.Cookies("linkok")=""
        Response.Redirect "SQLServer.asp"
    case 1
        set rsSchema=conn.openSchema(20) 
        rsSchema.movefirst        
        Response.Write "<form action=""?cz=4"" method=""post"">Table<input type=""text"" name=""crtablename"" size=""15""> <input type=""submit"" value="" Create""></form>"
        Response.Write "database("&Request.Cookies("dataname")&")->Table &nbsp;&nbsp;<a href=""?cz=1"">UserTable</a> &nbsp;&nbsp;<a href=""?cz=1&alltable=1"">AllTable</a><table border=""0"" width=""700""><tr height=""25""><td>TableName</td><td colspan=""4"">Action</td><td>SQL</td></tr>"
        Do Until rsSchema.EOF
            if request.QueryString("alltable")=1  or rsSchema("TABLE_TYPE")="TABLE" then
                response.write "<tr><form action=""?cz=9&tablename2="&rsSchema("TABLE_NAME")&""" method=""post""><td><input type=""text"" name=""tablename"" value="""&rsSchema("TABLE_NAME")&""" size=""15""></td><td><input type=""submit"" value=""Save""></td></form><td><a href=""?cz=2&tablename="&rsSchema("TABLE_NAME")&""">AlertTable</a></td><td><a href=""?cz=3&tablename="&rsSchema("TABLE_NAME")&""">OpenTable</a></td><td><a οnclick=checkclick('Confirm To Drop this table?') href=""?cz=6&tablename="&rsSchema("TABLE_NAME")&""">DropTable</a></td><td><a href=""?cz=10&czsql=1&tablename="&rsSchema("TABLE_NAME")&""">SELECT</a>|<a href=""?cz=10&czsql=2&tablename="&rsSchema("TABLE_NAME")&""">INSERT</a>|<a href=""?cz=10&czsql=3&tablename="&rsSchema("TABLE_NAME")&""">UPDATE</a>|<a href=""?cz=10&czsql=4&tablename="&rsSchema("TABLE_NAME")&""">DELETE</a></td></tr>"
                Response.Write "<tr><td height=""1"" bgcolor=""#555555"" colspan=""6""></td></tr>"
            end if
            rsSchema.movenext
        Loop
        Response.Write "</table>"
        rsSchema.close
        set rsSchema=Nothing
    case 2
        dim fieldCount
        set rs=conn.execute("select * from ["&trim(request.QueryString("tablename"))&"]")
        fieldCount = rs.Fields.Count
        Response.Write "<form action=""?cz=5&tablename="&trim(request.QueryString("tablename"))&""" method=""post"" id=form1 name=form1>Column Name<input type=""text"" name=""crfield"" size=""15""> <select name=""fieldtype"">"
        Response.Write "<option value="""">Column Type</option>"
        Response.Write "<option value=""int"">int</option>"
        Response.Write "<option value=""bigint"">bigint</option>"
        Response.Write "<option value=""smallint"">smallint</option>"
        Response.Write "<option value=""varchar"">varchar</option>"
        Response.Write "<option value=""ntext"">ntext</option>"
        Response.Write "<option value=""float"">float</option>"
        Response.Write "<option value=""bit"">bit</option>"
        Response.Write "<option value=""nvarchar"">nvarchar</option>"
        Response.Write "<option value=""datetime"">datetime</option>"
        Response.Write "<option value=""image"">image</option>"
        Response.Write "<option value=""text"">text</option>"
        Response.Write "<option value=""nchar"">nchar</option>"
        Response.Write "<option value=""money"">money</option>"
        Response.Write "<option value=""smalldatetime"">smalldatetime</option>"
        Response.Write "<option value=""numeric"">numeric</option>"
        Response.Write "<option value=""varbinary"">varbinary</option>"
        Response.Write "<option value=""tinyint"">tinyint</option>"
        Response.Write "<option value=""timestamp"">timestamp</option>"
        Response.Write "<option value=""sql_variant"">sql_variant</option>"
        Response.Write "<option value=""real"">real</option>"    
        Response.Write "</select> <input type=""submit"" value="" Add "" id=1 name=1></form>"
        Response.Write "<a href=""?cz=1"">database("&Request.Cookies("dataname")&")</a>->(Alert Table)"&trim(request.QueryString("tablename"))&"->"&fieldCount&" Columns In total."
        Response.Write "<table border=""0"" width=""500"">"
        Response.Write "<tr align=""center"" height=""30""><td>Name</td><td>Type</td><td>Length</td><td colspan=""2"">Action</td></tr>"
        For i=0 to fieldCount - 1
            Response.Write "<tr align=""center""><td><form action=""?cz=7&tablename="&trim(request.QueryString("tablename"))&""" method=""post"">"
            Response.Write "<input type=""text"" name=""fieldsname"" value="""&rs.Fields(i).Name&""" size=""10""><input type=""hidden"" name=""fieldsname2"" value="""&rs.Fields(i).Name&"""></td><td>"
            Response.Write "<select name=""fieldtype"">"
            select case rs.Fields(i).type
            case 3
                Response.Write "<option value=""int"">int</option>"
            case 5
                Response.Write "<option value=""float"">float</option>"
            case 11
                Response.Write "<option value=""bit"">bit</option>"
            case 20
                Response.Write "<option value=""bigint"">bigint</option>"
            case 130
                Response.Write "<option value=""nchar"">nchar</option>"
            case 200
                Response.Write "<option value=""varchar"">varchar</option>"
            case 202
                Response.Write "<option value=""nvarchar"">nvarchar</option>"
            case 203
                Response.Write "<option value=""ntext"">ntext</option>"
            case 205
                Response.Write "<option value=""image"">image</option>"
            case 135
                Response.Write "<option value=""datetime"">datetime</option>"
            case else
                Response.Write "<option value="""">"&rs.Fields(i).type&"</option>"
            end select
            Response.Write "<option value=""int"">int</option>"
            Response.Write "<option value=""bigint"">bigint</option>"
            Response.Write "<option value=""smallint"">smallint</option>"
            Response.Write "<option value=""varchar"">varchar</option>"
            Response.Write "<option value=""ntext"">ntext</option>"
            Response.Write "<option value=""float"">float</option>"
            Response.Write "<option value=""bit"">bit</option>"
            Response.Write "<option value=""nvarchar"">nvarchar</option>"
            Response.Write "<option value=""datetime"">datetime</option>"
            Response.Write "<option value=""image"">image</option>"
            Response.Write "<option value=""text"">text</option>"
            Response.Write "<option value=""nchar"">nchar</option>"
            Response.Write "<option value=""money"">money</option>"
            Response.Write "<option value=""smalldatetime"">smalldatetime</option>"
            Response.Write "<option value=""numeric"">numeric</option>"
            Response.Write "<option value=""varbinary"">varbinary</option>"
            Response.Write "<option value=""tinyint"">tinyint</option>"
            Response.Write "<option value=""timestamp"">timestamp</option>"
            Response.Write "<option value=""sql_variant"">sql_variant</option>"
            Response.Write "<option value=""real"">real</option>"            
            Response.Write "</select>"
            Response.Write "</td><td><input name=""fieldssize"" type=""text"" value="""&rs.Fields(i).DefinedSize&""" size=""10""></td><td><input type=""submit"" value=""Save""></td><td><a οnclick=checkclick('Drop The Field?') href=""?cz=8&tablename="&trim(request.QueryString("tablename"))&"&fieldsname="&rs.Fields(i).Name&""">Drop</a></td></form></tr><tr><td height=""1"" bgcolor=""#555555"" colspan=""5""></td></tr>"
        Next
        Response.Write "</table>"
        rs.close
        set rs=nothing
    case 3
        Response.Write "<a href=""?cz=10&czsql=1&tablename="&trim(request.QueryString("tablename"))&""">SELECT</a> | <a href=""?cz=10&czsql=2&tablename="&trim(request.QueryString("tablename"))&""">INSERT</a> | <a href=""?cz=10&czsql=3&tablename="&trim(request.QueryString("tablename"))&""">UPDATE</a> | <a href=""?cz=10&czsql=4&tablename="&trim(request.QueryString("tablename"))&""">DELETE</a><br><br>"
        set rs=conn.execute("select top 5 * from ["&trim(request.QueryString("tablename"))&"]")
        fieldCount = rs.Fields.Count
        Response.Write "<a href=""?cz=1"">database("&Request.Cookies("dataname")&")</a>->(OpenTable)"&trim(request.QueryString("tablename"))&"->First 5 Records<br>"
        Response.Write "<table border=""0""><tr align=""center"" height=""30"">"
        For i=0 to fieldCount - 1
            Response.Write "<td>"&rs.Fields(i).Name&"</td>"
        Next
        Response.Write "</tr>"
        while not rs.eof
            Response.Write "<tr>"
            For i=0 to fieldCount - 1
                Response.Write "<td><TEXTAREA rows=""2"" cols=""20"">"
                if ISEMPTY(rs(i)) then
                    'Response.Write rs(i)
                else
                    Response.Write rs(i)
                end if
                Response.Write "</TEXTAREA></td>"
            Next
            Response.Write "</tr>"
            'Response.Write "<tr><td height=""1"" bgcolor=""#555555"" colspan=""5""></td></tr>"
            rs.movenext
        wend
        rs.close
        set rs=nothing
        Response.Write "</table>"
    case 4
        dim crtablename
        crtablename=trim(request.Form("crtablename"))
        crtable("CREATE TABLE ["&crtablename&"] (ID int IDENTITY (1,1) not null PRIMARY key)")
        Response.Write "Table Created((ID int IDENTITY (1,1) not null PRIMARY key)).<a href=""?cz=1"">Back</a>"
    case 5
        dim crfield
        tablename=trim(request.QueryString("tablename"))
        crfield=trim(request.Form("crfield"))
        fieldtype=trim(request.Form("fieldtype"))
        select case fieldtype
        case ""
            Response.Write "Choose The type"
        case "varchar"
            crtable("ALTER TABLE ["&tablename&"] ADD ["&crfield&"] varchar(255)")
        case else
            crtable("ALTER TABLE ["&tablename&"] ADD ["&crfield&"] "&fieldtype&"")
        end select
        Response.Write "<a href=""?cz=2&tablename="&tablename&""">Back</a>"
    case 6
        tablename=trim(request.QueryString("tablename"))
        crtable("DROP TABLE ["&tablename&"]")
        Response.Write "<a href=""?cz=1"">Back</a>"
    case 7
        dim fieldsname,fieldsname2,fieldssize,fieldar
        tablename=trim(request.QueryString("tablename"))
        fieldsname=trim(request.Form("fieldsname"))
        fieldsname2=trim(request.Form("fieldsname2"))
        fieldtype=trim(request.Form("fieldtype"))
        crtable("sp_rename '"&tablename&"."&fieldsname2&"','"&fieldsname&"','column';")
        
        fieldssize=trim(request.Form("fieldssize"))
        fieldar=""
        select case fieldtype
        case "varchar","nvarchar"
            fieldar="("&fieldssize&")"
        end select
        if fieldssize=0 then fieldar="" end if
        crtable("ALTER TABLE ["&tablename&"] ALTER COLUMN ["&fieldsname&"] "&fieldtype&""&fieldar&"")
        Response.Write "<a href=""?cz=2&tablename="&tablename&""">Back</a>"
    case 8
        tablename=trim(request.QueryString("tablename"))
        fieldsname=trim(request.QueryString("fieldsname"))
        crtable("Alter table ["&tablename&"] drop column ["&fieldsname&"]")
        Response.Write "<a href=""?cz=2&tablename="&tablename&""">Back</a>"
    case 9
        dim tablename2
        tablename=trim(request.Form("tablename"))
        tablename2=trim(request.QueryString("tablename2"))
        crtable("EXEC sp_rename ["&tablename2&"],["&tablename&"]")
        Response.Write "<a href=""?cz=1"">Back</a>"
    case 10
        Response.Write "Usage<br>"
        Response.Write "INSERT:<font color=""#2663e0"" style=""font-size: 10pt""> insert into table_name(col1,col2)values('content1','content2')</font><br>"
        Response.Write "UPDATE:<font color=""#2663e0"" style=""font-size: 10pt""> update table_name set col1='c1',col2='c2' where col3='c3'</font><br>"
        Response.Write "DELETE:<font color=""#2663e0"" style=""font-size: 10pt""> delete from table_name where col='c1'</font><br>"
        Response.Write "SELECT:<font color=""#2663e0"" style=""font-size: 10pt""> select top [count] col1,col2 from table_name where col1='c1'</font><br>"
        
        tablename=trim(request.QueryString("tablename"))
        if tablename<>"" then
            dim czsql
            czsql=""
            select case request.QueryString("czsql")
            case 1
                czsql="SELECT TOP 10 * FROM ["&tablename&"]"
            case 2
                czsql="INSERT INTO ["&tablename&"] ( ) VALUES ( )"
            case 3
                czsql="UPDATE ["&tablename&"] SET"
            case 4
                czsql="DELETE FROM ["&tablename&"]"
            end select
        end if
        Response.Write "<form action=""?cz=11"" method=""post"">SQL:<br><TEXTAREA rows=""5"" cols=""50"" name=""sqlstr"">"&czsql&"</TEXTAREA><br><input type=""submit"" value=""Execute""></form>"
    case 11
            On Error Resume Next
            set rs=conn.Execute(trim(request.Form("sqlstr")))
            If Err Then
                Response.write ""&Err.Description&"<br>"
            else
                Response.Write "EXECUTE:&nbsp;"&trim(request.Form("sqlstr"))&"&nbsp;&nbsp;Succ<br>"
                Response.Write "<a href=""javascript:history.back(-1)"">Back</a>"
                If instr(1,lowercase(trim(request.Form("sqlstr"))),"select",1)>0 then
                fieldCount = rs.Fields.Count
                Response.Write "<table border=""0""><tr align=""center"" height=""30"">"
                For i=0 to fieldCount - 1
                    Response.Write "<td>"&rs.Fields(i).Name&"</td>"
                Next
                Response.Write "</tr>"
                while not rs.eof
                    Response.Write "<tr>"
                    For i=0 to fieldCount - 1
                        Response.Write "<td><TEXTAREA rows=""2"" cols=""20"" id=textarea1 name=textarea1>"
                        if ISEMPTY(rs(i)) then
                           'Response.Write rs(i)
                        else
                            Response.Write rs(i)
                        end if
                        Response.Write "</TEXTAREA></td>"
                    Next
                    Response.Write "</tr>"
                   'Response.Write "<tr><td height=""1"" bgcolor=""#555555"" colspan=""5""></td></tr>"
                    rs.movenext
                wend
                rs.close
                set rs=nothing
                Response.Write "</table>"
                end if
        end if
    end select
    Response.Write "</td></tr></table>"
    closedata
end if
Sub LinkData()
    Dim ConnStr
    ConnStr = "Provider = Sqloledb; User ID = " & trim(request.Cookies("username")) & "; Password = " & trim(request.Cookies("password")) & "; Initial Catalog = " & trim(request.Cookies("dataname")) & "; Data Source = " & trim(request.Cookies("ipdress")) & ";"
    On Error Resume Next
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open ConnStr
    If Err Then
        err.Clear
        Set Conn = Nothing
        Response.Write "<script>alert('Can Not Connect..Wrong pwd?');history.back(-1);</script>"
        Response.End
    else
        Response.Cookies("linkok")="yes"
    End If
End Sub
Sub CloseData()
    if IsObject(conn) then
        conn.Close
        set conn=nothing
    end if
End Sub
%>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于微软默认提供的企业管理器,很多用户使用困难,有不少用户也没有安装这个软件.另外很多用户将数据库服务器的远程连接给关掉或者将数据库服务器安装在局域网内 使得外部的使用管理有了不少的麻烦,SSOM系统可以安装在你的内部服务器上,这样外部用户直接用(local)连接就可以管理了 在mysql服务器管理中,目前用phpmyadmin软件进行在线管理,而SQL Server(mssql)也需要类似这样一款在线管理工具,就这样由BBSGOOD团队开发的针对mssql管理的SSOM系统诞生了. 该系统可以在线管理已创建的SQL Server(mssql)数据库,目前主要功能如下: 连接你的SQL数据库,进行 1.建立,删除,修改数据表 2.建立,删除,修改每个表的字段操作 3.SQL语句执行容器,可以执行所有的SQL语句,包括存储过程,也可以检索、插入、更新、删除记录等操作 4.进行数据库的备份 目前该产品首次测试发布编码为中国大陆的GB2312编码 使用说明: 1.在数据库地址一栏中,输入你数据库服务器的IP地址,如果和本系统是同机的话,也可以用(local)来连接 输入你的数据库名称,数据库访问的帐号和密码,点击登陆即可. 2.登陆后,点击左栏的数据库,即可管理数据库中所有的表,字段,记录等数据. 3.点击左栏的SQL语句,还可以运行sql脚本,你所需要的操作均可以完成,包括用select语句查询出记录. 4.点击左栏的数据库备份,就可以对你的数据库进行备份了,注意备份的路径是数据库服务器上面的路径.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值