日期:2014-05-18  浏览次数:20694 次

如何把OracleParameter序列化?(高分求助,顶者有分!)
在下做了一个remoting访问数据库的架构,在本地传递sql以及OracleParameter到远端执行。
结果OracleParameter由于不能序列化而报错,哪位大侠能提供一个demo将OracleParameter序列化?

或者是param[] 转化也行。

在线等...

------解决方案--------------------
可以写一个与OracleParameter类相与转换的新类,把这个新类序列化传送,其实这个很容易实现,比如把一个OracleParameter里主要的参数信息,比如参数名,参数类型,值,传送方向,小数位等信息一一用新类来表示,其后再把新类的相应的信息传到OracleParameter的新实例里,这样来达到传递参数的目的。
------解决方案--------------------







------解决方案--------------------
http://blog.csdn.net/zjj2816_163com/category/139315.aspx
------解决方案--------------------
没用过,也顶一下
------解决方案--------------------
把参数定义成类,然后传送时,转换成用逗号分隔的串,在远端进行解析,还原成类,在进行转换就可以了,两边都存在所谓的编码解码方法。
------解决方案--------------------
哦,其实用XML序列化类就很简单,因为OracleParameter有一个无参数的public构造函数,完全可以使用XML序列化类
------解决方案--------------------
up
------解决方案--------------------
UP
------解决方案--------------------
进来看看...
------解决方案--------------------
刚才仔细看了下你的代码,发现你还是不熟悉这个流程.我在下面简单的画一下吧
排版可能不对你凑合着看吧

{OracleParameter[] mc} ->[XmlSerializer XMLSerializer1] -> 流
|__________________________________________________↑

流 ->[XmlSerializer XMLSerializer2] ->{object}

OracleParameter[] newmc = (OracleParameter[])object;

也就是说,真正起到传输作用的,是流,而不是你的XmlSerializer对象.
------解决方案--------------------
根据SqlHelper修改一个就行了.或者petshop4.0中找.
------解决方案--------------------
UP