Rom*_*oel 6 odbc dsn sql-server-2008 ssrs-2008-r2
我需要帮助部署到localhost的SSRS报告,该报告使用ODBC数据源从excel文件中检索数据.当通过BIDS 2008预览相同的报告时,它会按预期显示结果.但是,在将报告部署到运行BIDS的同一台计算机(localhost)上的报告服务器之后,会出现以下错误.
错误:抛出Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:,Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:无法创建与数据源"dsInvoice"的连接.---> System.Data.Odbc.OdbcException:ERROR [IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
我尝试过共享数据源以及自定义数据源,但两者都不起作用.当我查找此错误时,它提到我需要在%windir%\ SysWOW64\odbcad32.exe下使用32位ODBC管理器工具,这就是我正在使用的但是也没有用.我是本地机器的管理员.
以下是有关该机器的一些信息:
重现错误的步骤:
创建Microsoft Excel驱动程序用户DSN - Test_Excel_Driver - 在%windir%\ SysWOW64\odbcad32.exe下
使用BIDS 2008创建SSRS报告,并选择数据源作为ODBC嵌入式连接,并使用以下连接字符串 - Dsn = Test_Excel_Driver; dbq = C:...\Test Excel.xlsx; defaultdir = C:... \; driverid = 1046; fil = excel 12.0; maxbuffersize = 2048; pagetimeout = 5
在BIDS中预览报告 - 工作正常!
使用完全权限将报告部署到localhost SSRS Report Server.单击报表管理器中的报表并获取上述错误.
首先,使用 OLEDB 而不是 ODBC 会更容易上手,OLEDB 的连接字符串如下所示:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES";
Run Code Online (Sandbox Code Playgroud)
然后在 SSRS/BIDS 中,当您在数据源屏幕中单击“测试连接”时,您可能会看到以下错误:
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
文档指出 MS Access 驱动程序(包括 OLEDB 驱动程序)仅在 x86 平台下工作,在 x64 或 AnyCPU 平台下不兼容。然而这似乎是不真实的。参考:/sf/answers/2293214801/
首先下载安装程序,确保勾选 _64.exe版本:http://www.microsoft.com/en-us/download/details.aspx ?id=13255
AceRedist.msi /passive
经过这些步骤后,我在 x64 或 AnyCPU 构建配置中构建后成功运行了应用程序(以及没有 BIDS 的 SSRS)。这解决了问题。
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |