我用ado可执行"select * from sales"查询语句,却不能执行 restore database name from disk='c:\name.bak' with replace 错误提示:ODBC超时

解决方案 »

  1.   

    是不是时间的关系?你换成adocommand试试看
      

  2.   

    try
    ADOConn.Execute('BackupProc '+''''+TempPath+TempFilename+'''');
    //BackupProc是备份数据库的存储过程,TempPath+TempFilename是参数
    messagedlg('备份成功!',mtwarning,[mbok],0);
    except
    messagedlg('备份失败!',mtwarning,[mbok],0);
    end;
    //另外,数据库备份是备份到服务器的,如果参数包含的路径在服务器不存在
    //的话会出错。
      

  3.   

    你还连接着数据库呢,当然不能restore ,断开连接,连到master上backup 是服务器执行的,当然路径是服务器的了,不知设置网络路径是否可行?
      

  4.   

    备份数据库文件(SQL语句):
    filename为你要备份文件名 databasename为你的数据库名
    adoquery1.SQL.Add('backup database xf_database to Disk='''+filename+'''');恢复数据库(SQL语句):
    filename为你要恢复的文件名 databasename为你的数据库名
    adoquery1.sql.add('restore database databasename from disk='''+FileName+''''
      

  5.   

    我用ADOCONNECT,ADOCONNECT+ADOCOMMAND,ADOCONNECT+ADOQUERY都试过
    ADOQUERY1.CLOSE;
    ADOQUERY1.SQL.CLEAR;
    ADOQUERY1.SQL.TEXT:='restore database name from disk='+'''c:\name.bak'''+' WITH REPLACE';
     ADOQUERY.EXECSQL;错误提示:ODBC SQL SERVER 超时!
    我不宜用备份数据库的存储过程。用在DATABASE+QUERY没有问题。但我不想用BDE。恳请各位帮忙!
      

  6.   

    我用ODBC 数据源是连接到MASTER而不是要恢复的数据库!
      

  7.   

    好象是odbc里的客户端协议设置的问题。]
    该一下看看