行万里路

行万里路,也要读万卷书

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

场景:

写了一个有返回参数的存储过程,在个另开发人员机器上都正常。其它机器报如题错误。让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题。

分析:

虽然网上的帖子没有根本解决问题,但还是给了些丝路。参数值类型问题。而且,我也把输出参数赋值语句注释后,也可以正常调用(只是结果没返回)。尝试了将类型转为Oracle的OracleString,强制转clr的string,都不行。

dicParaOut[kvp.Key] = (string)command.Parameters[0].Value;

dicParaOut[kvp.Key] = (OracleString)command.Parameters[0].Value;

解决:

抱着试试看的心态,尝试用.ToString()。搞定了。

dicParaOut[kvp.Key] = command.Parameters[0].Value.ToString();

 

参考帖子:

http://www.cnblogs.com/keyrratuff/archive/2010/02/04/1663791.html

posted on 2015-06-11 11:41  贤言叙语  阅读(814)  评论(0编辑  收藏  举报