Openrowset('MSOLAP.5', 'DATA SOURCE=XYZ;Initial Catalog=PQR';)
我正在将SQL Server 2012升级到SQL Server 2014.我成功升级了所有SSIS包。我升级了SQL Server 2014的所有数据库解决方案。但是在SQL Server 2014上部署数据库(dacpac)期间,我们遇到了错误:
Error SQL72014: .Net SqlClient Data Provider: Msg 7403, Level 16, State 1, Procedure ABCD, Line 45 The OLE DB provider "MSOLAP.5" has not been registered.
Line 45- FROM OPENROWSET('MSOLAP.5','DATA SOURCE=XYZ;Initial Catalog=PQR;',... )
答案 0 :(得分:2)
SQL Server 2014支持MSOLAP.6。但SQL Server 2014 PowerPivot工作簿使用MSOLAP.5。如果运行Excel Services的计算机上未安装MSOLAP.5,则Excel Services无法加载数据模型。
SQL Server的提供程序是向后兼容的。因此,如果提供程序尝试从数据源服务器检索数据,并且数据源服务器的版本对应于晚于安装的提供程序版本的提供程序的版本,则提供程序可能会遇到某些问题。但是,如果数据源服务器的版本对应于早于安装的提供程序版本的提供程序版本,则提供程序可以从数据源服务器检索数据。我们建议您安装与您正在使用的数据源服务器的最新版本匹配的MSOLAP版本。 我们可以在服务器上检查MSOLAP exec master..xp_regread'HKEY_CLASSES_ROOT','MSOLAP.5' exec master..xp_regread'HKEY_CLASSES_ROOT','MSOLAP.6'
对于SQL Server 2014的迁移, 在所有存储过程中更改MSOLAP.5到MSOLAP.6,构建解决方案并部署。