未找到 SSIS 2012 方法:无效

SSIS 2012 Method not found: void

我最近在每个 SSIS 包(使用 Visual Studio 2012)中遇到这个错误,当我想打开一个 OLE DB 源组件时:

===================================

Method not found: 'Void Microsoft.DataTransformationServices.DataFlowUI.DataFlowConnectionPage.set_DataPreviewTimeout(Int32)'. (Microsoft Visual Studio)

------------------------------
Program Location:

at Microsoft.DataTransformationServices.DataFlowUI.OleDbSourceUI.SetConnectionPageDescriptions(DataFlowConnectionPage connectionPage)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowAdapterUI.AddCommonConnectionPage(DataFlowComponentForm form, String helpKeyword)
at Microsoft.DataTransformationServices.DataFlowUI.OleDbSourceUI.AddPagesToForm(DataFlowComponentForm form)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.EditImpl(IWin32Window parentControl)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.Edit(IWin32Window parentWindow, Variables variables, Connections connections)

上周它运行良好,我认为从那以后我没有做任何改变。有什么建议吗?

快速搜索此主题,带我到另一个站点:http://www.solvusoft.com/en/files/missing-not-found-error/dll/windows/microsoft/msdn-disc-2729/microsoft-datatransformationservices-dataflowui-dll/ - 这基本上表明 DLL/Registry 是 missing/corrupt

查看 MSDN 文档后,我认为这是来自拖放实现?似乎缺少环境 DLL missing/corrupt,您可能需要调试 运行 程序包以查看错误持续存在的确切位置。

我刚刚通过修复损坏的注册表项解决了 CCleaner 免费版的同样问题。

对我来说,问题出现在 SQL Server Data Tools 2012 中,它在安装多个版本的 SSDT(包括 2015 预览版)后使用 Visual Studio 2010。

打开任何 OLEDB 源组件引发 C:\Program Files (x86)\Microsoft 缺少 DLL 错误 Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DatatransformationServices.DataFlowUI.dll

GoldBishop 链接的 solvusoft.com 站点提供了有关该问题的有用信息,但建议使用他们可疑的产品来修复它。请阅读 Norton community site 上有关 Solvusoft 及其如何使用 RegCleanPro 的帖子。

在使用像 CCleaner 这样的工具之前,请先研究一下。看看谁评价它是好产品。使用它时,请检查它是否已备份您的注册表项(确实如此)。

我 运行 在 Visual Studio 2010 的计算机上遇到了同样的问题(尽管我确信 VS2012 将具有相同的分辨率)。我安装了 Visual Studio 2015,然后当我尝试在 VS2010 中打开 ADO NET 源或 OLD DB 源时开始收到此错误。我发现文件夹 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies 中的 Datat运行sformationServices 文件已损坏。我将所有 Microsoft.DatatransformationServices 文件从运行 VS2010 的计算机复制到我的本地计算机,文件夹 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies.

您可以在 cmd 中使用如下命令执行此操作:

copy /Y "\\GoodComputerName\C$\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.*.dll" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\"

然后我在 cmd 中使用以下命令将程序集添加到我的缓存中(只需使用 gacutil 将目录更改为文件夹 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin 中的最新版本并将 Visual Studio 的文件夹更改为您收到错误的版本的文件夹):

cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DatatransformationServices.DataFlowUI.dll"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Design.DLL"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.DTSExecUI.Controls.dll"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Interfaces.dll"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.VsIntegration.DLL"
gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Wizards.DLL"

我 运行 在 Visual Studio 2010 的计算机上遇到了同样的问题(尽管我确信 VS2012 将具有相同的分辨率)。我安装了 Visual Studio 2015,然后当我尝试在 VS2010 中打开 ADO NET 源或 OLD DB 源时开始收到此错误。我发现我的 Datat运行sformationServices 文件在文件夹

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies 
had become corrupt. I copied all Microsoft.DatatransformationServices files from a computer where VS2010 was working to my local computer, folder

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies
You can use a command like the following from cmd to do so:

copy /Y "\GoodComputerName\C$\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.*.dll" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\"

I then added the assemblies to my cache using the following commands in cmd (just change the directory with gacutil to your newest version in the folder C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin and change the folder for Visual Studio to the folder for the version in which you are receiving the error):

cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DatatransformationServices.DataFlowUI.dll"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Design.DLL"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.DTSExecUI.Controls.dll"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Interfaces.dll"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.VsIntegration.DLL"

gacutil /if "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.DataTransformationServices.Wizards.DLL"

这个决议对我有用,所以我希望它对你也有用:)

适合我。检查最新版本 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools.

使用 SSMS 2016 时也是如此。这是 2016 年 7 月版的一个已知问题。

一开始我没有遇到这个问题,但一直在使用 SMO。

安装 16.5.3 解决了这个问题: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

来源: https://connect.microsoft.com/SQLServer/feedback/details/2925257