找不到SSIS 2012方法:无效

时间:2016-03-15 11:16:08

标签: sql-server visual-studio-2012 ssis sql-server-2012 ssis-2012

我最近在每个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)

上周工作得很好,从那时起我就不认为我改变了什么。有什么建议吗?

5 个答案:

答案 0 :(得分:27)

我在使用Visual Studio 2010的计算机上遇到了同样的问题(虽然我确信VS2012将具有相同的分辨率)。我安装了Visual Studio 2015,然后在尝试在VS2010中打开ADO NET源或OLD DB源时开始收到此错误。我发现文件夹C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies中的DatatransformationServices文件已损坏。我将所有 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"

答案 1 :(得分:3)

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

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

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

缺少的DLL错误

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

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

答案 2 :(得分:0)

快速搜索此主题,引导我访问另一个网站:http://www.solvusoft.com/en/files/missing-not-found-error/dll/windows/microsoft/msdn-disc-2729/microsoft-datatransformationservices-dataflowui-dll/ - 这基本上表明DLL / Registry丢失/损坏

在查看MSDN文档之后,我假设这是来自拖放实现?似乎没有任何环境DLL丢失/损坏,您可能需要调试运行包以确切地查看错误持续存在的位置。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

使用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