注册

通过EF Core库执行"truncate table"产生异常

飞羽流星 2021/09/14 1098 2

【DM版本】: DM8 1-2-61-21.08.17-145730-10000-ENT
【操作系统】:Windows 10
【CPU】: x64
【问题描述】*:
通过EF Core库调用DbContext.Database.ExecuteSqlRaw执行语句

truncate table MyTable1;
truncate table MyTable2;
truncate table MyTable3;
truncate table MyTable4;
truncate table MyTable5;
truncate table MyTable6;
truncate table MyTable7;
truncate table MyTable8;
truncate table MyTable9;

会产生异常:

Dm.DmException (0x80004005): 第1 行附近出现错误:
不支持的语句类型
   at Dm.DmError.ThrowDmException(DmError err)
   at Dm.DmResp.ThrowServerException(DmMsg msg, String charSet, Boolean rwStandby)
   at Dm.DmResp.Execute(DmMsg msg, DmStatement stmt, DmConnProperty connProperty)
   at Dm.DmCsi.PrepareSql(DmMsg SendMsg, DmMsg RecvMsg, DmStatement stmt, String sql, Boolean direct, Int32 checkFlag)
   at Dm.DmStatement.ExecuteUpdate(String sql)
   at Dm.DmCommand.do_ExecuteNonQuery()
   at Dm.DmCommand.ExecuteNonQuery()
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRaw(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRaw(DatabaseFacade databaseFacade, String sql, Object[] parameters)
   ....

但是此语句可在DM管理工具中正常执行。
truncate table在SQL手册中也有说明是合法的语句。

回答 0
暂无回答
扫一扫
联系客服