使用CSV数据源创建SSRS报告及解决x86与x64适配问题
适配现有环境的SSRS CSV数据源配置方案
前置说明
所有操作均不会变更你现有SSRS 2012、Windows Server 2008 R2 SP1、Win10 64位的基础环境,同时从根源避开x86/x64架构兼容问题。
第一步:替换兼容64位的驱动,解决Jet 4.0未注册报错
Microsoft.Jet.OLEDB.4.0 仅提供32位版本,天然不兼容64位运行环境,直接替换为适配驱动即可:
- 安装64位版本的Microsoft Access Database Engine 2010 Redistributable,分别装到本地Win10开发设备、SSRS 2012所在的Windows Server 2008 R2服务器
- 若本地Win10已安装32位Office,安装时会提示版本冲突,直接用静默参数安装即可,不会影响现有Office功能:
AccessDatabaseEngine_x64.exe /quiet - 后续所有数据源配置统一使用
Microsoft.ACE.OLEDB.12.0驱动,该驱动原生支持64位运行环境,兼容CSV读取需求
第二步:正确配置连接字符串,解决ODBC数据源找不到报错
弃用ODBC数据源配置方式,直接使用OLEDB类型的数据源,避免系统ODBC配置不一致导致的报错:
- 新建数据源时类型选择「OLEDB」,连接字符串按以下格式填写:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\CSV文件所在的文件夹路径;Extended Properties="text;HDR=Yes;FMT=Delimited";
参数说明:
HDR=Yes代表CSV第一行是列名,无表头则改为HDR=No;Data Source填写到文件夹路径即可,不需要写到具体CSV文件名
- 数据集查询语句按以下格式编写,文件名需加方括号、保留.csv后缀:
SELECT * FROM [你的目标文件名.csv]
第三步:配置SSRS凭据规则,解决凭据校验报错
对应rsInvalidDataSourceCredentialSetting报错,按需选择以下任一配置即可:
方案A:存储凭据(推荐)
数据源凭据设置选择「存储在报表服务器中的凭据」,所用账户需提前开通CSV所在文件夹的读取权限,域环境用域服务账户、工作组环境用两台设备共有的同名同密码本地账户即可。
方案B:配置无人参与执行账户
如果不想单独为数据源存凭据,打开SSRS所在服务器的「报表服务配置管理器」,找到「无人参与执行账户」选项,配置一个有CSV文件夹读取权限的账户即可。
第四步:部署验证
报表部署到SSRS服务器后,保持数据源配置和本地开发时一致即可,64位ACE驱动和默认64位运行的SSRS 2012完全适配,不会出现架构兼容问题。
内容的提问来源于stack exchange,提问作者Shell D
相关产品推荐
相关产品推荐

