找不到SSIS 2012方法:无效

问题描述 投票:7回答:6

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

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

sql-server visual-studio-2012 ssis sql-server-2012 ssis-2012
6个回答
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"

3
投票

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

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

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

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

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


0
投票

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

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


0
投票

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

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"

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


0
投票

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


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

© www.soinside.com 2019 - 2024. All rights reserved.