【问题标题】:The SQL provider cannot run because of a missing dependency. Please make sure that Microsoft SQL Server Transact-SQL ScriptDom is installed由于缺少依赖项,SQL 提供程序无法运行。请确保已安装 Microsoft SQL Server Transact-SQL ScriptDom
【发布时间】:2016-10-04 13:58:55
【问题描述】:

Web 部署任务失败。 (由于缺少依赖项,SQL 提供程序无法运行。请确保已安装 Microsoft SQL Server Transact-SQL ScriptDom。

在启用更新数据库的 Visual Studio 中发布任何 Web 应用程序时出现此错误。在我将 SQL SERVER MANAGEMENT Studio 升级到 2016 之前它工作正常。

我尝试卸载并重新安装 sql server 和所有必需的组件,但徒劳无功

任何建议将不胜感激

谢谢

【问题讨论】:

    标签: sql-server visual-studio web-publishing scriptdom


    【解决方案1】:

    在 GAC 中注册 ScriptDom 程序集为我们解决了这个问题:

    "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\Microsoft.SqlServer.TransactSql.ScriptDom.dll
    

    【讨论】:

    • 我没有 SQLDB 文件夹。我错过了什么吗?
    【解决方案2】:

    我不得不

    使用Web Platform Installer安装:

    1. Microsoft SQL Server 2012 数据层应用程序框架

    2. SQL Server 2012 Transact-SQL ScriptDom

    3. SQL Server 系统 CLR 类型 11.0

    并自己注册(调整版本号)

    "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\Microsoft.SqlServer.TransactSql.ScriptDom.dll
    

    【讨论】:

    • 我安装了这些东西,但它仍然无法正常工作,注册是最终为我做的事情
    • 对于 Visual Studio 2017 企业版:"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil" /i "C:\Program Files ( x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\140\Microsoft.SqlServer.TransactSql.ScriptDom.dll"
    【解决方案3】:

    为 Visual Studio 2012 安装 SQL Server Data Tools (SSDT) 包为我解决了该错误。

    您可以从这里下载 VS2012 和 VS2013 的安装程序:https://msdn.microsoft.com/en-us/library/mt674919.aspx#Anchor_0

    【讨论】:

    • SSDT 需要 Visual Studio 我无法在服务器上安装 Visual Studio
    • SSDT 需要在您从中发布的客户端机器/桌面上
    • 我在 dev pc 上安装了 SSDT 14.0.6519。它发布到其他服务器而不是这个。
    【解决方案4】:
    • DacFxNeededForSQLProvider
    • ERROR_SCRIPTDOM_NEEDED_FOR_SQL_PROVIDER
    • ERROR_SQLCLRTYPES_NEEDED_FOR_SQL_PROVIDER

    上面列出的 3 个错误组共享以下诊断和解决方法:

    诊断:没有安装 SQL DAC 及其依赖项

    解决方法:使用Web Platform Installer安装:

    1. Microsoft SQL Server 2012 数据层应用程序框架
    2. SQL Server 2012 Transact-SQL ScriptDom
    3. SQL Server 系统 CLR 类型 11.0

    source

    【讨论】:

    • 我安装了所有这些但没有运气
    【解决方案5】:

    在命令提示符下运行下面的代码,它可以工作。

    "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\Microsoft.SqlServer.TransactSql.ScriptDom.dll"
    

    click here for source

    【讨论】:

      【解决方案6】:

      将所有这些 dll 注册到 gac 对我有用。 将所有这些命令写入命令​​提示符。确保以“管理员”身份打开 cmd

      "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Hyak.Common.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.Azure.KeyVault.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.Data.Tools.Utilities.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.SqlServer.Dac.Extensions.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.Threading.Tasks.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.Azure.Common.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.Data.Tools.Schema.Sql.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.IdentityModel.Clients.ActiveDirectory.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.SqlServer.DacAzureExtensions.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Microsoft.SqlServer.Types.dll "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil" /i "C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\Extensions\Microsoft.SqlServer.Services.ImportExport.DacFxExtensions.dll

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-08
        • 1970-01-01
        • 1970-01-01
        • 2015-03-22
        相关资源
        最近更新 更多