另:如果要想传对象实际到Rmt另一端,有二个条件,一是:序列化,二是,在服务端已存在这个对象,也就是说上面的System.Data.OleDb.OleDbDataAdapter ada 在服务端必须存在。
可以用
System.Data.OleDb.OleDbDataAdapter ada  = 服务端对象.GetAda();
来得到引用。而服务端要用类似
public OleDbDataAdapter GetAda()
{
    return new System.Data.OleDb.OleDbDataAdapter();
}
这样的方法在服务端创建对象,将引用返回到客户端,这样才能使用。

解决方案 »

  1.   

    To citymeteor(流星):
       3Q回答, 我知道需要序列化,但是OleDbCommand 如何序列化?
    还有返回的GetConnection()的对象始终是个代理对象,不能使用它做其它操作.可以使用它的属性而以
      

  2.   

    是的,所以说是个思路问题,有没有想过把DBConnection对客户端透明?
      

  3.   

    我原来的程序是建立的本地连接基础上,没有使用Remote方式.如果要改为remote方式,就需要获得数据库服务器上的DataConnection. citymeteor(流星)的提醒我会注意的.
    如果能有比较简单的方式就好了
      

  4.   

    谢  citymeteor(流星) 善意提醒
      

  5.   

    www.hao123.com
    这里有相关文章,你可以参考一下。
      

  6.   

    从 .NET Framework 1.1 版开始,远程处理基础结构不会自动对服务器上的某些类型进行反序列化。如果您的方案存在这种情况,则必须先将服务器的反序列化级别设置为 Full,然后服务器才能反序列化并使用您的 MBV 对象,参见ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconautomaticdeserializationinnetremoting.htm
      

  7.   

    To ssdjmcj8048(优游通[UUT]):
       我在看....
    To  xlkun(cexo):
       能够更深刻点?
      

  8.   

    我对remoting理解的不够,还得看看基本的知识才行.