Closed dongfo closed 1 month ago
DbType = DbType.Oracle,
ConnectionString = "Data Source=localhost/orcl;User ID=system;Password=haha",
IsAutoCloseConnection = true,
MoreSettings=new ConnMoreSettings() {
IsAutoToUpper=false //禁用自动转成大写表 5.1.3.41-preview04
}
如果数据库里面的表不是纯大写,禁用自动转大写
如果数据库里面的表不是纯大写,禁用自动转大写
感谢您的迅速回复,确实有这个设置可以解决问题。smartsql使用的5.0.5.4版没这个配置项,我知道该怎么解决了。
代码中拼接查询sql时, https://github.com/DotNetNext/SqlSugar/blob/2f45954dbd963da812b237bec41bfe52c9c05ecb/Src/Asp.Net/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs#L474
调试发现,对于Oracle 表名及字段名存在两种可能性, 1.创建表结构时不使用双引号,则表名及字段名均为大写。 2.创建表结构时使用双引号,则表名及字段均维持原来的大写及小写,但是查询必须维持原来的大小写,并且给字段及表名带上双引号。
但是sqlsugar 将非括号包裹的表名均专为大写,导致Oracle查询报错。