【发布时间】:2018-05-10 06:31:53
【问题描述】:
我是分析服务的新手。当我尝试在命令提示符下使用 dtexec 命令执行 ssis 包时,出现错误:
无法加载文件或程序集 Microsoft.AnalysisServices.AdomdClientUI.dll 版本 13.0.0.0
我尝试了一些在互联网上找到的解决方案,但没有奏效。
感谢您的建议。
【问题讨论】:
标签: ssis ssas sql-server-data-tools
我是分析服务的新手。当我尝试在命令提示符下使用 dtexec 命令执行 ssis 包时,出现错误:
无法加载文件或程序集 Microsoft.AnalysisServices.AdomdClientUI.dll 版本 13.0.0.0
我尝试了一些在互联网上找到的解决方案,但没有奏效。
感谢您的建议。
【问题讨论】:
标签: ssis ssas sql-server-data-tools
SQL_AS_ADOMD.msi 包括 Microsoft.AnalysisServices.AdomdClient.dll,但不包括 Microsoft.AnalysisServices.AdmomdClientUI.dll。
Microsoft.AnalysisServices.AdmomdClientUI.dll 包含在 SQL Management Studio 中,但由于调用了新方法,我作为替换的版本 13.0.1700.441 失败,并且我无法找到匹配的 SQL 2016 SP2 版本。大概现在正在等待 Microsoft 的修补程序。
【讨论】:
编辑 20180604:Cumulative Update 1 for SQL Server 2016 SP2 修复了该问题。
20180604 之前的答案:现在有针对此错误的解决方法,已发布 here:
有一个错误,它可能会在我已经修复的 SP2 CU1 中得到纠正 被告知将在月底发布。我们有一个 来自 MS 的解决方法建议,但这还不够。
简而言之:提供的解决方法不能按原样工作,但我发现 现在还可以做什么呢?它现在可以在带有 SP2 的服务器上运行
更长:提供的解决方法不能按原样工作,因为它可以 注册正确的程序集和正确的版本(v14),但是当 包运行它仍然会搜索以前的版本 v13。一世 已经测试过,即使我的笔记本电脑上有 SP2,情况也是如此, 在 SSIS 项目中重建所有内容并进行部署——它仍然是 v13 正在寻找。注册程序集的 v13 无济于事,因为 该版本没有被调用的方法,因此只会 导致其他错误消息。
我在服务器上做的解决方案是在 .NET machine.config 以便在搜索 v13 时使用 v14 为。
我做了一步一步,从提升的 CMD 运行:
1:注册程序集:"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe" /i "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\Microsoft.AnalysisServices.AdomdClientUI.dll"
您应该会在 GAC 中成功注册消息一程序集。
2:(可选)验证注册:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe" /l Microsoft.AnalysisServices.AdomdClientUI
您应该会看到已注册版本 14.0.0.0 的消息
3:在 machine.config 中配置版本重定向(当 编辑!!)
要编辑的文件: "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config"
要添加内容的元素是
配置/运行时
在我修复它的服务器上,这个元素是完全空的,即
<runtime/>如果它不为空,当然保留元素中的内容并添加 如下所示的 assemblyBinding 元素。
更改/添加以使整个元素包含此内容:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.AnalysisServices.AdomdClientUI" publicKeyToken="89845dcd8080cc91" culture="neutral"/> <bindingRedirect oldVersion="13.0.0.0" newVersion="14.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>5:保存文件。该软件包现在应该可以工作了。
安装 CU1 中的修复程序后,应执行以下步骤:
1:移除上面添加的assemblyBinding元素并保存文件
2:删除添加到 GAC 的 dll:“C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\gacutil.exe” /u Microsoft.AnalysisServices.AdomdClientUI
在我的服务器中,“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\Microsoft.AnalysisServices.AdomdClientUI.dll”是第 13 版,因此在第 1 步中注册了 v13(您可以通过右键单击/属性然后单击详细信息选项卡来检查版本。
为了解决这个问题,我:
修复到达时的步骤保持不变(除了删除“C:\Program Files\Microsoft.AnalysisServices.AdomdClientUI.dll”)。
注意:如果您在 32 位而不是 64 位中运行包,则需要编辑的 machine.config 位于 c:\Windows\Microsoft.NET\Framework\v4.0.30319 \Config\machine.config
【讨论】:
您可以从 MS SQL Server 功能包组件 SQL_AS_ADOMD.msi 中获取 Microsoft.AnalysisServices.AdomdClientUI.dll。
大概你有SQL server 2016,所以你可以从SQL 2016 Feature Pack得到它。
【讨论】: