从Microsoft Dynamics CRM检索account记录时遇错,请求排查指导
Dynamics CRM Account表检索在SSIS脚本任务失败(控制台正常)的排查方案
可能的问题及排查步骤
1. 程序集版本不匹配
控制台项目使用的Microsoft.Xrm.Tooling.Connector.dll版本,和你注册到GAC的版本可能不一致。SSIS运行时会优先加载GAC中的程序集,版本不兼容会导致执行失败。
- 操作:右键控制台项目里的该引用,查看版本号;到新服务器GAC目录(
C:\Windows\Microsoft.NET\assembly)找到对应程序集,核对版本。如果版本不同,将控制台依赖的正确版本注册到GAC。
2. .NET框架版本不兼容
控制台项目的目标.NET框架版本,和SSIS脚本任务指定的版本可能不匹配。例如控制台用.NET 4.7.2,SSIS脚本任务选了.NET 4.0,会引发程序集加载异常。
- 操作:打开SSIS脚本任务编辑界面,在「脚本」选项卡查看.NET框架版本;对比控制台项目的目标框架,确保两者一致。
3. SSIS执行账户权限不足
控制台以你的本地账户运行,而SSIS通常用SQL Server代理账户或其他服务账户执行,该账户可能没有Dynamics CRM的访问权限,或无法读取GAC中的程序集。
- 操作:用SSIS执行账户登录Dynamics CRM,验证是否能正常访问;检查该账户对GAC中
Microsoft.Xrm.Tooling.Connector.dll的读取权限。
4. 缺失依赖程序集
仅注册Microsoft.Xrm.Tooling.Connector.dll到GAC是不够的,它依赖的其他程序集(如Microsoft.Xrm.Sdk.dll、Microsoft.Crm.Sdk.Proxy.dll等)可能在新服务器GAC中不存在,而旧服务器原本有这些依赖。
- 操作:用ILSpy等工具查看
Microsoft.Xrm.Tooling.Connector.dll的依赖项,将所有缺失的依赖程序集注册到新服务器GAC。
5. SSIS脚本任务引用配置错误
脚本任务中的引用可能指向本地旧版本文件,而非GAC中的程序集,导致加载冲突。
- 操作:打开SSIS脚本任务的代码编辑器,检查引用列表,确保
Microsoft.Xrm.Tooling.Connector引用来自GAC;若为本地引用,删除后重新添加GAC版本。
内容的提问来源于stack exchange,提问作者Shahab Haidar
相关产品推荐
相关产品推荐

