DotNetNext/SqlSugar

查询表字段时,提示ORA-00942: 表或视图不存在

Closed this issue · 4 comments

代码中拼接查询sql时,

string sql = "select * /* " + Guid.NewGuid() + " */ from " +SqlBuilder.GetTranslationTableName(SqlBuilder.GetNoTranslationColumnName(tableName)) + " WHERE 1=2 ";

调试发现,对于Oracle 表名及字段名存在两种可能性,
1.创建表结构时不使用双引号,则表名及字段名均为大写。
2.创建表结构时使用双引号,则表名及字段均维持原来的大写及小写,但是查询必须维持原来的大小写,并且给字段及表名带上双引号。

但是sqlsugar 将非括号包裹的表名均专为大写,导致Oracle查询报错。
image

   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版没这个配置项,我知道该怎么解决了。