【问题标题】:SSRS Issues with 32bit and 64bit ODBC drivers32 位和 64 位 ODBC 驱动程序的 SSRS 问题
【发布时间】:2016-09-01 21:13:13
【问题描述】:

最终目标是让用户能够运行看起来很漂亮的报告并从我们的数据库中获取当前信息。我们想使用 SQL Report Builder,因为我们已经将它用于其他报告。该数据库是 Cisco UCCX,我们通过我们的报告服务 SQL Server 2008 R2 的 ODBC 连接来访问它。

我们已成功设置系统 ODBC 连接与 64 位和 32 位驱动程序。但是,在尝试访问连接时,我们会收到错误消息。

使用 32 位驱动,我们尝试在 SSRS 中创建一个数据源以供报表生成器使用并收到错误:

“错误 [IM014] [Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配”

使用 64 位驱动程序,我们可以成功地创建和测试作为数据源的 ODBC 连接,但是当我们尝试在 Report Builder 中使用它创建数据集时,我们会收到以下错误:

ERROR [IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

Error received using the 64bit driver for ODBC connection

【问题讨论】:

    标签: reporting-services sql-server-2008-r2 odbc ssrs-2008-r2 reportbuilder3.0


    【解决方案1】:

    可能遇到了一个老旧但反复出现的问题,即 Windows 注册表中的轻微损坏。

    损坏的形式是包含这个 4 字符字符串的条目 —

    @=""  
    

    除了注册表导出文件之外,这些条目在任何地方都不可见(注册表编辑器会完全忽略它们),但它们可能会导致许多不良行为,包括您报告的错误。

    注意:在您的 64 位 Windows 机器上,32 位注册表自然会有一些复杂性。 This Microsoft KB article 可能足以让您完成这些。

    我建议您使用 64 位注册表编辑器 (%systemroot%\system32\regedit) 导出以下分支(这些有问题的条目往往会在其中找到)-

    HKEY_LOCAL_MACHINE\Software\ODBC
    HKEY_CURRENT_USER\Software\ODBC
    HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC
    HKEY_CURRENT_USER\Software\WOW6432Node\ODBC
    

    在任何文本编辑器中编辑这些文件(记事本或写字板通常都可以),并删除上面包含该 4 个字符的所有行。然后,删除您导出的注册表树段,并从编辑的文件中导入 - 从而恢复树段,减去损坏。

    使用 32 位注册表编辑器 (%systemroot%\syswow64\regedit) 重复上述过程不会有什么坏处,但正如您所描述的问题,我认为您不会在32 位导出。

    【讨论】:

    • 嗨,TallTed。我按照你的建议做了,但是我没有找到任何 @="" 键。我所在的位置是数据源在 SSRS 中测试良好,并且我能够在报表设计器中使用 DSN 而不会出现问题。只有当我尝试使用数据源在报表生成器中创建数据集时,才会遇到“IM002”错误。我在微软论坛上的其他帖子:social.technet.microsoft.com/Forums/exchange/en-US/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    相关资源
    最近更新 更多