2017-05-16 4 views
1

Je développe une application .Net qui déploierait un dacpac sur un ordinateur client. Pour cela, j'aurais besoin de SqlPackage.exe pour déployer le dacpac. J'ai besoin d'un chemin absolu de SqlPackage.exe pour que mon application fonctionne quelle que soit la configuration de la machine du client.Trouver Sqlpackage.exe sur la machine client pour installer DACPAC

Pouvez-vous m'aider s'il vous plaît pour réaliser ceci.

Merci, Yogesh

+0

Une alternative à 'sqlpackage' est le [package Microsoft.SqlServer.Dac] (https://www.nuget.org/packages/Microsoft.SqlServer.Dac/), qui vous permet de [déployer par programme] (https : //msdn.microsoft.com/library/microsoft.sqlserver.dac.dacservices) DACPACs. –

+0

C'est l'option que je suppose que je devrais considérer. Merci Jeroen –

Répondre

3

Vous pouvez installer sqlpackage.exe de deux façons:

  • SSDT (SQL Server Data Tools): l'emplacement sera VS Install Directory\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\{SqlVersion}, VS répertoire d'installation: C:\Program Files (x86)\Microsoft Visual Studio {VsVersion}.0
  • SQL Server Management Studio (SSMS) et Dac Framework MSI: C:\Program Files (x86)\Microsoft SQL Server\{SqlVersion}\Dac\bin

SqlVersion est 140 pour le SQL Server 2017, 130 pour SQL Server 2016, etc.

VsVersion est 14 pour Visual Studio 2017

Plus de détails dans this question.

+0

Merci David. En fait, nous exécutons sqlpackage.exe à partir du fichier batch, nous avons donc besoin d'un emplacement exact de sqlpackage.exe dans la machine client. Le client peut l'avoir installé dans C: ou D: ou n'importe quel lecteur. Nous ne pouvons pas garder le chemin statique. –

+0

En fait, je voudrais simplement copier le fichier 'sqlpackage.exe' et toutes ses dépendances et le déployer avec mon fichier batch. Donc mes clients n'ont pas besoin d'installer quoi que ce soit, je n'ai pas besoin de trouver le bon chemin et tout le monde est content :) –

+0

mais je suppose que nous ne sommes pas autorisés à redistribuer les assemblys Microsoft et à les expédier comme client. –