日期:2014-05-20  浏览次数:21212 次

vs2010连接oracle10g,无法加载dll oraops
以前用System.Data.OracleClient连接的时候没出过问题,现在换VS2010的开发环境了,反而没有了这个dll引用,上网查了说是加载Oracle.DataAccess.dll来用,我加载之后在new连接的时候出异常:具体状况如下:

oracle服务端在一个装了win2k3系统的vm虚拟机,虚拟机和宿主机是互通的,虚拟机里弄了一个默认数据库orcl

然后我在宿主机里装了oracle的客户端(运行时版,装完之后oracle目录下有network文件夹)
在宿主机里用Net Manager建了一个服务dbtest,指向了虚拟机的orcl
然后用plsql dev测试,可以连接到orcl

然后用vs2010建了一个项目,加载了Oracle.DataAccess.dll引用(在oracle安装目录的bin下找到的),然后用
OracleConnection conn=new OracleConnection("Data Source=dbtest;User Id=devuser;Password=devuser");
来新建连接(用户名和密码正确)

在运行的时候,这句代码就出错,报的异常是:无法加载 DLL“OraOps10.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

然后我进宿主机的oracle、bin目录下看,没有找到这个OraOps10.dll,因为装的是客户端版嘛。但在虚拟机里找到了这个dll,因为是服务器版比较全吧


然后我就不知道该咋办了,这问题到底咋解决啊,上网搜的答案没有合适的……

------解决方案--------------------
把 OraOps10.dll 放到 bin下面试试