微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Inno Setup中访问拒绝的还原SQL Server备份文件

如何解决在Inno Setup中访问拒绝的还原SQL Server备份文件

我想在InnoSetup中还原sql Server .bak备份文件

这是我使用的代码

try
    ExtractTemporaryFile ('mydb.bak');
    ADOConnection := CreateOleObject('ADODB.Connection');
    ADOConnection.ConnectionString := 
      'Provider=sqlOLEDB;' +               // provider
      'Data Source=DESKTOP-UE6ST1P\RMPRO;' +   // server name
      'Initial Catalog=master ;' +       // default database
      'User Id=sa;' +                // user name
      'Password=mypass;';                   // password
    
    ADOConnection.Open;
    try

      ADOCommand := CreateOleObject('ADODB.Command');
      ADOCommand.ActiveConnection := ADOConnection;
      ADOCommand.CommandText := 'RESTORE DataBase mydb FROM disK = ' + QuotedStr(ExpandConstant('{tmp}\mydb.bak'));
      ADOCommand.CommandType := adCmdText;
      ADOCommand.Execute(NULL,NULL,adCmdText or adExecutenorecords);      
    finally
      ADOConnection.Close;
    end;
  except
    MsgBox('Error',mbError,MB_OK);
  end;
end;

当我运行此代码时,出现此错误

异常:sql Server的Microsoft OLE DB提供程序:无法打开备份设备'C:\ Users \ sina \ AppData \ Local \ Temp \ is-QADA6.tmp \ mydb.bak'。操作系统错误5(访问被拒绝)。

如何处理InnoSetup中拒绝的访问?我在“以管理员身份运行”中运行安装程序,然后关闭了UAC,但是仍然存在此问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。