项目是4.0的,使用了Dapper这个轻型ORM。
普通的sql语句执行没有问题,但是再执行Oracle的存储过程就有了错误。
下面是执行不带参数的存储过程:
下面是执行带参数的存储过程:
我这里没有给参数加上 ‘ :’,我之前网上搜索了一下相关资料,有些猿友说不写 ‘ :’也是可以的。结果还是同样的错误。
然后,补充上,加上‘ :’ 的错误:
补充说明:
使用的程序版本全是4.0,Oracle连接使用的System.Data.OracleClient.dll。
求帮助
代码上解决不了的问题,可以考虑换个角度,从设计上避免嘛。。一定非要传游标?
可是,我需要通过存储过程获得结果集。
@愤怒的TryCatch: 存储过程不是问题,可以从参数上考虑下哇。
去看你生成的sql语句,在数据库执行下,你就可以可以知道错误了
1. v$sql.
2. 用 pl/sql developer 工具 "Tools" -> "Sessions" 可以查看每个session所执行过的语句
进行监控下吧
@稳稳的河:
嗯,谢谢你提供的方案。
问题基本上找到了,是缺少参数,这个DbType如何添加游标这个类型呢?
我写DbType.Object 也不行。
@愤怒的TryCatch: Oracle的游标我没用过,目前也不知道怎么传参,你去goolge下吧
已经解决,自己扩展了Dapper。
http://www.cnblogs.com/likeli/p/4875341.html