在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 (将#修改为@)