请问各位大虾,在用.NET开发ORACLE程序的时候,用的是ODP.NET,它引用了ORACLE提供的Oracle.DataAccess.dll,现在碰到的问题是本机编译好的程序,在拿到别的计算机上去运行,由于该计算机装的是ORACLE的不同版本,造成Oracle.DataAccess.dll的版本不同,程序运行时会异常,请问有没有解决这个组件版本不一致的方法?谢谢!

解决方案 »

  1.   

    把不同版本的Dll收集起来,和你的程序放一起,一个一个试 :-)
      

  2.   

    Oracle.DataAccess.dll一起都打到你的包里去。
      

  3.   

    举个例子来说,我的程序开发的计算机装的是ORACLE 10g,引用的Oracle.DataAccess.dll就会是10.1.*版本,而客户机装的是ORACLE 9i,在其上面运行,总是说找不到10.1.*版本的Oracle.DataAccess.dll,即使把10g的Oracle.DataAccess.dll跟程序放到一起还是不行,它好像依赖非常多的东西,难以确定,不知各位碰到过这方面的问题没,怎么解决的?
      

  4.   

    试了一下,如果都是Oracle 10g的话,高版本的Oracle.DataAccess.dll兼容低版本的,比如程序编译时用的是10.1.200版本的,拿到装有10.1.400版本的上面去用就能用,反之则不能。按道理来说,高版本兼容低版本的是正确的,但是用9i编的程序拿到装有10g的上面就用不成了,不知道Oracle是怎么处理的。
      

  5.   

    Oracle.DataAccess.dll oraops10.dll一起打包