我在windows 2008 r2上安装了oracle的ODAC1120320_x64,但是在使用OleDB方式访问oracle时,提示:未在本地计算机上注册“OraOleDB.Oracle”提供程序。
数据库访问串为:<add key="OleDbConnectionString" value="Provider=OraOleDB.Oracle;Data Source=数据库;User ID=用户;Password=密码" />
 
项目的目标平台设为X64请问该如何解决

解决方案 »

  1.   

    首先,不说别的,你的连接串就有问题  Oracle 的连接串应该是客户端ora文件中配置的实例名和密码
    而且你确保你电脑装了oracle客户端  这个错误一般是为安装oracle客户端 或者客户端注册程序失败引起的.  记得注册时如果是win7电脑记得以管理员身份运行   如果你是64位电脑的话,恭喜你,64位电脑连接oracle 出问题的概率比较大
      

  2.   

    https://forums.oracle.com/forums/thread.jspa?messageID=10432894
      

  3.   

    1:OraOleDB.Oracle 有没有这个dll有的话注册一下看看能不能成功。
    2:看看tnsnames.ora配置好了没有,还有监听,然后用Net Manager测试一下看看能否连接成功。
    如果不是就跟踪一下你的代码。
      

  4.   

    回复楼上各位,我把连接字符串简写了,其实应该是:
    Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = oracle))); Persist Security Info=True;Password=**;User ID=*;"这种形式 
      

  5.   

     
    64位win7 使用Oracle当初我就遇到过问题的,而且还是解决不了的问题  你试试把那个注册程序以管理员身份运行在重启程序试试,不行的话我估计你就得悲剧了
      

  6.   

    不会吧,不知在windows2008 r2 上能同时安装odp的32位和64位版本么?
      

  7.   

    目标平台改x86,如果是web,应用程序池改支持32位为true
    找个32位的oci客户端,然后Path指向它
    设置Oracle文件夹权限
    大抵是以上几个方法同时折腾
      

  8.   

    你需要 引用一下 oracle那个 类,平台,要 保持一致。
      

  9.   

    在win2008 r2 下安装odac32位没问题吧
      

  10.   

    我也遇到过,应该是32位程序无法调用64位的Oracle组件。
    可以安装32位的客户端,或直接下载XCOPY版的,配置一下就可以。
    我的直接把程序编译成64位的就可以用。