32位和64位ODBC驱动程序的SSRS问题

32位和64位ODBC驱动程序的SSRS问题

本文介绍了32位和64位ODBC驱动程序的SSRS问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

The ultimate goal is for users to be able to run a report that looks pretty and grabs current information from our database. We'd like to use SQL Report Builder since we're already using it for other reports. The database is Cisco UCCX and we're accessing it with an ODBC connection from our reporting services SQL Server 2008 R2.

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

We've successfully setup System ODBC connections with both 64bit and 32bit drivers. When trying to access the connections though, we're receiving errors.

使用32位驱动程序,我们尝试在SSRS中创建一个供Report Builder使用的数据源,并收到错误消息:

Using the 32bit driver, we try to create a Data Source in SSRS for use by Report Builder and receive the error:

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

Using the 64bit driver, we can successfully create and test the ODBC connection as a Data Source, but then when we attempt to create a Dataset with it in Report Builder, we get this error:

使用64位驱动程序进行ODBC连接时收到错误

推荐答案

可能会遇到Windows注册表中的旧问题,但反复出现的轻微损坏.

You may be hitting an old but recurring issue with minor corruption in the Windows Registry.

损坏采用包含此4个字符的字符串的条目的形式—

The corruption takes the form of entries containing this 4-character string —

@=""

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

These entries aren't visible anywhere except Registry export files — the Registry Editor ignores them completely — but they can lead to a number of undesired behaviors, including the error you report.

注意:在您的64位Windows计算机上,与32位注册表自然存在一些复杂问题. 这篇Microsoft KB文章可能足以使您了解这些内容.

NOTE: On your 64-bit Windows machine, there are naturally some complications tied to the 32-bit Registry. This Microsoft KB article may be sufficient to get you through these.

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

I suggest that you use the 64-bit Registry Editor (%systemroot%\system32\regedit) to export the following branches (where these problematic entries tend to be found) —

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

在任何文本编辑器中编辑这些文件(通常可以使用记事本或Wordpad),并删除上面包含该4个字符的字符串的所有行.然后,删除导出的注册表树段,然后从已编辑的文件中导入-从而还原树段(减去损坏).

Edit these files in any text editor (Notepad or Wordpad are generally fine), and delete all lines which consist of that 4-character string, above. Then, delete the Registry tree segment(s) you exported, and import from the edited files — thereby restoring the tree segment(s), minus the corruption.

使用32位注册表编辑器(%systemroot%\syswow64\regedit)重复上述过程不会有什么坏处,但是正如您所描述的那样,我认为您不会在其中找到任何@="" 32位导出.

It won't hurt to repeat the above process with the 32-bit Registry Editor (%systemroot%\syswow64\regedit), but as you've described the issue, I don't think you'll find any @="" in the 32-bit export.

这篇关于32位和64位ODBC驱动程序的SSRS问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 03:24