Найдите Sqlpackage.exe на клиентском компьютере для установки DACPAC

Я разрабатываю.Net-приложение, которое будет развертывать dacpac на клиентской машине. Для этого мне потребуется SqlPackage.exe для развертывания dacpac. Мне нужен абсолютный путь к SqlPackage.exe, чтобы приложение работало независимо от конфигурации компьютера клиента.

Можете ли вы помочь мне достичь этого.

Спасибо, Йогеш

2 ответа

Вы можете установить 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) и MSI Dac Framework: C:\Program Files (x86)\Microsoft SQL Server\{SqlVersion}\Dac\bin

SqlVersion является 140 для SQL Server 2017, 130 для SQL Server 2016 и т. д.

VsVersion является 14 для Visual Studio 2017

Подробнее в этом вопросе.

Найти sqlpackage программно вы можете использовать библиотеку PowerShell TaskModuleSqlUtility. Либо запустить Invoke-DacpacDeployment из сценария powershell (извините, не C#) или использовать Get-SqlPackageOnTargetMachine функция для пути sqlpackage.exe.

Поиск тестов в github для образцов.

Вы также можете скачать с сайта microsoft doc

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

и проверьте свою версию sql и получите правильные инструкции

Другие вопросы по тегам