首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 高分求解:ASP实现SQL SERVER2000数据库备份与还原的问题 [已结贴,结贴人:enter042105]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:03:50 楼主
    我的代码如下(参考网上的):
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
       <HEAD>
       <TITLE>SQL Server 数据库的备份与恢复 </TITLE>
       <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
       </HEAD>
       <BODY>
       <form method="post" name="myform">
      选择操作: <INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"> <label for=act_backup>备份 </label>
       <INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"> <label for=act_restore>恢复 </label>


        <br>数据库名: <INPUT TYPE="text" NAME="databasename" value=" <%=request("databasename")%>">
       <br>文件路径: <INPUT TYPE="text" NAME="bak_file" value="c:\$1.bak">(备份或恢复的文件路径) <br>
       <input type="submit" value="确定">
       </form>
       <%
        dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
      sqlserver = "localhost"
      sqlname = "sa"
      sqlpassword = ""
      sqlLoginTimeout = 15
      databasename = trim(request("databasename"))
      bak_file = trim(request("bak_file"))
      bak_file = replace(bak_file,"$1",databasename)
      act = lcase(request("act"))
      if databasename = "" then
      response.write "input database name"
      else
      if act = "backup" then
       Set srv=Server.CreateObject("SQLDMO.SQLServer")
       srv.LoginTimeout = sqlLoginTimeout
       srv.Connect sqlserver,sqlname, sqlpassword
       Set bak = Server.CreateObject("SQLDMO.Backup")
       bak.Database=databasename
       bak.Devices=Files
       bak.Files=bak_file
       bak.SQLBackup srv
       if err.number>0 then
       response.write err.number&" <font color=red> <br>"
       response.write err.description&" </font>"
       end if
       Response.write " <font color=green>备份成功! </font>"
      elseif act = "restore" then
       Set srv=Server.CreateObject("SQLDMO.SQLServer")
       srv.LoginTimeout = sqlLoginTimeout
       srv.Connect sqlserver,sqlname, sqlpassword
       Set rest=Server.CreateObject("SQLDMO.Restore")
       rest.Action=0 ' full db restore
       rest.Database=databasename
       rest.Devices=Files
       rest.Files=bak_file
       rest.ReplaceDatabase=True
       if err.number>0 then
       response.write err.number&" <font color=red> <br>"
       response.write err.description&" </font>"
       end if
       rest.SQLRestore srv
      
       Response.write " <font color=green>恢复成功! </font>"
      else
       Response.write " <font color=red>没有选择操作 </font>"
      end if
      end if
      %>
       </BODY>
       </HTML>


    出现的错误是:
    错误类型:
    Microsoft VBScript 编译器错误 (0x800A0408)
    无效字符
    /bgxt/baktest.asp, line 19
      sqlserver = "localhost"

    不明白的我这句是对的啊。localhost我也改过127.0.0.1 也不对。望高手指教~~~
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:07:481楼 得分:0
    sqlserver = (local)

    试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:09:152楼 得分:50
    重新敲一下那段字符,可能是编码出问题了,所以报错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:09:383楼 得分:0
    手动敲,不要复制粘贴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:10:064楼 得分:50
    我复制你的代码,看到该句前面有全角的空格,该句下面还有同样问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:14:125楼 得分:0
    出现的错误是:
    错误类型:
    Microsoft VBScript 编译器错误 (0x800A0408)
    无效字符
    /bgxt/baktest.asp, line 19
      sqlserver = "localhost"

    不明白的我这句是对的啊。localhost我也改过127.0.0.1 也不对。望高手指教~~~

    改成(local)  或者你服务器名称
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:19:496楼 得分:0
    4#不是说了吗?你该行代码前面的空格是全角的空格,替换成半角或者去掉就好了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 18:15:057楼 得分:0
    呵呵,复制下来
    真如4楼说的,不知道你原先代码怎样的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yifanwu
    • 等级:
    发表于:2008-05-17 11:57:538楼 得分:0
    No Copy
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 13:51:519楼 得分:0
    谢谢大家!就是编码的问题。马上给分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 13:54:4610楼 得分:0
    你编码后可以备份?
    汗!我用那个代码好象无法备份!

    出现
    无法打开备份设备 '\\192.168.1.104\BACKUP\tdrphy.bak'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。

    汗!不知道是不是我电脑配置的问题!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved