生成Oracle SQL参数解析有误 返回
查询Oracle11g一张日志表"SYS_LOG"时,通过Linq.Expression表达式构造where条件进行查询时,就简单一个字段“type”=‘A’查询时,SqlSugar构造的SQL参数不正确。
程序报:参数“type0”无效:“
ArgumentException: ORA-50028: Invalid parameter binding (Parameter 'type0')
”
查看解析:参数由“type0”变成“KWtype0_01”,不知是不是因为字段“type”是保留关键字有关?
[Sql]:SELECT * FROM (SELECT "ID","CREATEDUSERID","CREATEDTIME","LOGDESC","SMEMO","IP","TYPE","ACTION",ROW_NUMBER() OVER(ORDER BY id desc) AS RowIndex FROM "SYS_LOG" WHERE ( "TYPE" = :type0 )) T WHERE RowIndex BETWEEN 1 AND 20
[Pars]:
[Name]::KWtype0_01 [Value]:S [Type]:String
热忱回答(4)
-
fate sta VIP0
2周前sqlsugar是最新的吗。升级最新看看。
0 回复 -
fate sta VIP0
2周前207以下版本升级到207 文档oracle有介绍207和207以上有哪些改动
0 回复 -
心然 VIP0
2周前出现异常后,就升级到最新版,问题依旧。
0 回复 -
心然 VIP0
2周前实体按文档设置参数类型转换后,可以正常解析了。
/// <summary>
///日志类型:S:登录退出日志 O:操作日志
/// </summary>
[SugarColumn(ColumnName = "type",SqlParameterDbType = typeof(CommonPropertyConvert))]
public string type { get; set; }
DbContext: Information:
[Sql]:SELECT * FROM (SELECT "ID","CREATEDUSERID","CREATEDTIME","LOGDESC","SMEMO","IP","TYPE","ACTION","OBJID","OBJTN",ROW_NUMBER() OVER(ORDER BY id desc) AS RowIndex FROM "SYS_LOG" WHERE ( "TYPE" =@Common1000)) T WHERE RowIndex BETWEEN 1 AND 20
[Pars]:
[Name]::Common1000 [Value]:S [Type]:String
0 回复