【问题标题】:Find Sqlpackage.exe on client machine to install DACPAC在客户端机器上找到 Sqlpackage.exe 来安装 DACPAC
【发布时间】:2017-10-15 16:20:46
【问题描述】:

我正在开发一个 .Net 应用程序,它将在客户端计算机上部署一个 dacpac。为此,我需要 SqlPackage.exe 来部署 dacpac。 我需要 SqlPackage.exe 的绝对路径,以使我的应用程序无论客户端的机器配置如何都能正常工作。

你能帮我实现这个目标吗?

谢谢, 尤格什

【问题讨论】:

  • sqlpackage 的替代品是Microsoft.SqlServer.Dac package,它允许您programmatically deploy DACPAC。
  • 这是我想我需要考虑的选项。谢谢杰伦
  • 我意识到这个问题现在有点老了,但只是指出建议的 NuGet 包看起来不像(或曾经真的)被维护过。只有两个版本,最新版本已经超过五年了。

标签: c# .net dacpac


【解决方案1】:

您可以通过两种方式安装sqlpackage.exe

  • SSDT (SQL Server Data Tools):位置为VS Install Directory\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\{SqlVersion},VS 安装目录:C:\Program Files (x86)\Microsoft Visual Studio {VsVersion}.0
  • SQL Server Management Studio (SSMS)Dac 框架 MSIC:\Program Files (x86)\Microsoft SQL Server\{SqlVersion}\Dac\bin

SqlVersion 对于 SQL Server 2017 是 140,对于 SQL Server 2016 等是 130

VsVersion14 对于 Visual Studio 2017

更多详情请见this question

【讨论】:

  • 谢谢大卫。实际上我们是从批处理文件中执行 sqlpackage.exe,所以我们需要 sqlpackage.exe 在客户端机器中的准确位置。客户可能已将其安装在 C: 或 D: 或任何驱动器中。我们不能保持路径静态。
  • 实际上,我只需复制sqlpackage.exe 文件及其所有依赖项并将其与我的批处理文件一起部署即可。所以我的客户不需要安装任何东西,我不需要找到正确的路径,每个人都很高兴:)
  • 但我想我们不允许重新分发 Microsoft 程序集并作为我们产品的一部分发送给客户。
  • 这不起作用。我已经安装了启用所有选项的 SSDT,但 Extensions 文件夹不存在。 编辑: VS2017 安装目录已更改,在我能找到的任何地方都没有记录 - 现在位于 C:\Program Files (x86)\Microsoft Visual Studio\2017
  • 使用 vswhere.exe 帮助查找 Visual Studio 实例。这可以帮助您找到sqlpackage.exehttps://github.com/Microsoft/vswhere
【解决方案2】:

要以编程方式查找sqlpackage,您可以使用TaskModuleSqlUtility powershell library。从 powershell 脚本运行 Invoke-DacpacDeployment(抱歉不是 C#)或使用 Get-SqlPackageOnTargetMachine 函数作为 sqlpackage.exe 路径。

github 中搜索测试以获取样本。

【讨论】:

    【解决方案3】:

    您也可以从 microsoft doc 网站下载

    https://docs.microsoft.com/en-us/sql/tools/sqlpackage-download?view=sql-server-ver15&viewFallbackFrom=sql-server-ver17

    并检查您的 sql 版本并获取正确的说明

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 2020-02-04
      相关资源
      最近更新 更多