用的这个版本,作者忘记删除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,删除它的构造函数里面的方法,然后重新生成
删除:
然后引用dll文件到我们的项目中就正确执行dblink的语句了。
作者应该也是进行了修改,可能Oracle的忘记改了,Mysql,sqlserver的都改了。。。