web-dev-qa-db-ja.com

クライアントマシンでSqlpackage.exeを見つけて、DACPACをインストールします

クライアントマシンにdacpacをデプロイする.Netアプリケーションを開発しています。そのためには、dacpacを展開するためにSqlPackage.exeが必要になります。クライアントのマシン構成に関係なくアプリケーションを機能させるには、SqlPackage.exeの絶対パスが必要です。

これを達成するのを手伝ってくれませんか。

ありがとう、Yogesh

6
Yogesh Irmal

_sqlpackage.exe_は、次の2つの方法でインストールできます。

  • 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 MSIC:\Program Files (x86)\Microsoft SQL Server\{SqlVersion}\Dac\bin

SqlVersionは、SQL Server 2017の場合は_140_、SQL Server 2016の場合は_130_などです。

VsVersionはVisualStudio 2017の_14_です

詳細については この質問 をご覧ください。

11
Dávid Molnár

プログラムでsqlpackageを見つけるには、 TaskModuleSqlUtility powershell library を利用できます。 PowerShellスクリプトからInvoke-DacpacDeploymentを実行するか(C#ではありません)、sqlpackage.exeパスにGet-SqlPackageOnTargetMachine関数を使用します。

github でテストを検索してサンプルを探します。

3
nawfal