ssrs报表连接64位oracle

本文详细记录了解决本地Windows8 64位系统、32位VS2008、64位SQL Server与64位Oracle数据库服务器连接时遇到的错误在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配的过程。重点在于确认和解决32位与64位客户端不匹配的问题,通过下载并正确配置32位Oracle InstantClient和ODBC驱动来实现SSRS与数据库的成功连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    今天捣鼓了一天才搞好这个事情。小记一下以便后续问题可以照着做。

    1 本地 win8 64位系统

    2 本地vs2008 目测32位

    3 本地 sqlserver 2008r2 64位

    4 本地 oracle 64位 12c,仅仅用来充当客户端用,只是负责连接到服务器而已

    5 服务器 64位 linux 

    6 数据库 64位 oracle 11.2

    一开始用在本地创建64位odbc是成功的,odbc测试也可以连接到数据库服务器,

   但是在ssrs上 总是提示

    在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 

   所以我们怀疑是32位的 vs2008 和 64位的 oracle客户端 不匹配。


   然后又下了一个 32位 oracle instant client (11.2) 将注册表里的 地址 和 ORACLE_HOME都指向过去后

   然后使用32位 odbc 尝试创建dsn。但是一直无法找到这个 instant client,总是提示      

       未发现 Oracle(TM) 客户端和网络组件。

      这些组件是由 Oracle 公司提供的,是 Oracle 7.3 版 (或更高) 客户软件安装的一部分。 


  于是比较了64位的odbc创建dsn成功后显示的内容 

     
  发现引用了这个SQORA32.DLL 搜了一下貌似这个是 oracle的odbc的驱动。

  再回去看安装好的32位的instant client目录底下并没有这几个文件,才明白应该是少下了东西。在oracle的官网上看到
  应该是两个instant client都需要下载才可以。其中odbc的下载后,将里面内容复制到 instant client的bin里即可
  

        最后说下odbc,这个在系统上是分32和64位的,

          32位的位于 windows\system32\odbcad32.exe,

          64位的位于 windows\sysWOW64\odbcad32.exe,


        总之就是。32位的vs2008 导致必须要32位的odbc,以及32位的oracle客户端。

                          而32位的oracle客户端,却是可以连接到32和64位的数据库上

         再PS:     由于现在是32位的客户端了,我的64位的toad反而不能用,只能用32位的plsql dev

   

在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值