在客户端计算机上找到Sqlpackage.exe以安装DACPAC

时间:2017-05-16 14:13:33

标签: c# .net dacpac

我正在开发一个在客户机上部署dacpac的.Net应用程序。为此,我需要SqlPackage.exe来部署dacpac。 我需要一个SqlPackage.exe的绝对路径来使我的应用程序工作,而不管客户端的机器配置如何。

你能帮助我实现这个目标。

谢谢, 约杰什

3 个答案:

答案 0 :(得分:9)

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

  • SSDT(SQL Server数据工具):位置为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 Framework MSI C:\Program Files (x86)\Microsoft SQL Server\{SqlVersion}\Dac\bin

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

对于Visual Studio 2017,

VsVersion14

this question中的更多详情。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您还可以从Microsoft文档站点下载

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

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