在PLSQL中执行存储过程,输出的参数是正确的结果,如下:
但是在C#调用存储过程时,其他类型(decimal,datatable都正常),出现了截取一段的现象,如下,希望遇到过的指点一二(客户端装的是 12c、另外还装了odp.net)
豆豆不多,希望大家能帮忙看下。非常感谢!
将下面代码中的50改为更大的值,现在超过50个字符就会被截取。
new OracleParameter("p_pallet_no", OracleType.VarChar, 50)
你看看存储过程中返回参数的类型是啥 或者使用OracleType.Char试试
OUT VARCHAR2 啊
同意一楼的看法,你设置的字符串长度有可能小了,改大一些试试。
C#中,我不是都试了300吗,还试了LongChar类型,也没反应啊
遇到了同样的问题,是oracle 12c的bug,换回11g客户端后正常了.以后遇到这个问题的朋友可以参考下