【问题标题】:SSIS 2012 Method not found: void未找到 SSIS 2012 方法:无效
【发布时间】:2016-03-15 11:16:08
【问题描述】:

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

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

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)

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

【问题讨论】:

  • 您的 OLE DB 连接管理器使用什么提供程序?
  • @billinkc 在我发现错误的项目中,我使用的是 Microsoft OLE DB Provider for AS/400。但我也在其他提供商上进行了测试,并且对所有人都一样。

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


【解决方案1】:

我在装有 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"

【讨论】:

  • 这应该被标记为正确答案。在 SSDT 2012 上安装 SSDT 2015 后,我遇到了同样的问题,这个解决方案对我有用。
  • 其次,这就是解决方案。修补后遇到此问题并使用上述步骤解决。非常感谢 GaryS。
  • 同意 - 这是一个更好的解决方案
  • 这解决了问题。我遇到了完全相同的错误,可能是由于安装了多个版本的 Visual Studio/SSDT 造成的。对我来说,当我在安装更高版本(2015、2017)后卸载 VS2010 时特别发生这种情况。然后我需要重新安装 VS2010 + SSDT 并遇到此错误。
  • 在现有的 VS2012 上安装 SSDT2015 和 VS 2015 后帮助了我。除了我没有复制文件 - 只需要运行 GACUTIL: 1. 以管理员身份打开 VS2012 Native Tools 命令提示符 2. 运行 GACUTIL /if Microsoft.DataTransformationServices.Design.DLL gacutil /if Microsoft.DatatransformationServices.DataFlowUI.dll
【解决方案2】:

我刚刚通过修复损坏的注册表项修复了 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 站点提供了有关该问题的有用信息,但建议使用他们可疑的产品来修复它。请阅读Norton community site 上有关 Solvusoft 及其如何使用 RegCleanPro 的此线程。

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 该站点确实描述了我的问题,但没有一个选项(除了全新安装,我没有这样做)解决了我的问题。我猜没有官方网站可以下载丢失的dll文件?
    • 如果下载的 DLL 文件是干净的 dll,则无法保证。最好重新安装并确保在发布使用之前拥有所有可用的组件。听起来你的安装/补丁/升级很糟糕,它破坏了 DLL 的使用。
    【解决方案4】:

    我在装有 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"
    

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2016-12-11
          • 1970-01-01
          • 2016-10-19
          • 1970-01-01
          • 1970-01-01
          • 2021-10-03
          • 1970-01-01
          • 2021-12-27
          • 1970-01-01
          相关资源
          最近更新 更多