SqlSugar操作Oracle的dblink时候@符号问题-LMLPHP

用的这个版本,作者忘记删除Oracle中的代码了。。。。下个版本作者应该就会更新了,到时候就不会存在这个问题,这里记录一下。

引用nuget出现的问题:

使用dblink的时候,查询的时候需要带@符号,转换出来的sql语句显示@符号已被替换成: 号了

我要执行的是:

SELECT  Id,ROW_ID \"RowId\", DEPT_ID DeptId, USER_CODE UserCode, USER_NAME UserName,ROLE_ID RoleId FROM ks12345.cc_userview@otlink

显示的sql语句:

SELECT t.* FROM  (SELECT  Id,ROW_ID "RowId", DEPT_ID DeptId, USER_CODE UserCode, USER_NAME UserName,ROLE_ID RoleId FROM ks12345.cc_userview:otlink) t

@符号被替换成了:

修改办法:我们还是得修改源码,然后从新生成dll文件进行引用,不能用nuget包了。。。

打开OracleProvider.cs,删除它的构造函数里面的方法,然后重新生成

SqlSugar操作Oracle的dblink时候@符号问题-LMLPHP

SqlSugar操作Oracle的dblink时候@符号问题-LMLPHP

删除:

SqlSugar操作Oracle的dblink时候@符号问题-LMLPHP

然后引用dll文件到我们的项目中就正确执行dblink的语句了。

作者应该也是进行了修改,可能Oracle的忘记改了,Mysql,sqlserver的都改了。。。

05-17 05:53