当我从c#调用存储过程时,它会抛出一个异常
本文关键字:异常 一个 调用 存储过程 | 更新日期: 2023-09-27 18:09:14
CREATE PROCEDURE GetDatabaseBackup
AS
BEGIN
DECLARE @MyFileName varchar(1000)
SELECT
@MyFileName= 'D:'DATABASE-BACKUP'genxMultiERPLive -' +
REPLACE(convert(nvarchar(20),GetDate(),120),':','-') + '.bak'
BACKUP DATABASE genxMultiERPLive
TO DISK = @MyFileName
END
GO
这是我的存储过程。当我执行这个存储过程时,它工作得很好。当我在c#代码中调用数据库对象时,它抛出一个异常。
public bool DataBaseBackup()
{
int obj = _dbContext.GetDatabaseBackup();
if (obj != 0)
{
return true;
}
return false;
}
_dbContext
是我的数据库对象。
异常是:
无法在事务中执行备份或恢复操作。
备份数据库异常终止。
您应该从
更改调用存储过程的行 int obj= _dbContext.GetDatBaseBackup();
_dbContext.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction,"GetDatBaseBackup");