2017-03-29 7 views
0

Webサイトに関連付けられたデータベースを作成または更新するインストーラがあります。私たちはもともとMicrosoft Server 2008 R2とSQL Server 2008用のインストーラを書いていました。Microsoft Server 2016とSQL Server 2016にアップデートしましたが、今度はdacpacで失敗します。データベースインストーラがSQL Server 2016にアップデートしてからDacStoreオブジェクトを作成できない

システムでDACフレームワークを更新しましたが、問題は解決しません。失敗する特定の部分はPowerShellスクリプトに含まれています。

新オブジェクト:この タイプを含むアセンブリがロードされていることを確認してください:[Microsoft.SqlServer.Management.Dac.DacStore]タイプ見つけることができません。 C:¥Users¥Administrator¥AppData¥Local¥Temp¥2_ir_sf_temp_3¥UnregisterDataTier.ps1:29 char:13 + $ dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($ s ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ + CategoryInfo:InvalidType:(:) [新オブジェクト]、PSArgumentException + FullyQualifiedErrorId:TypeNotFound、Microsoft.PowerShell.Commands.NewObjectCommand

コードのセクション(ライン29であります最終行):

If (!$uid -And !$pwd) 
{ 
    $serverconnection.ConnectionString = "Server = $server; Database = $database ; Integrated Security = True;" 
} 
Else 
{ 
    $serverconnection.ConnectionString = "Server = $server; Database = $database ; Integrated Security = False; User ID = $uid; Password = $pwd;" 
} 

$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection) 

私は他の人が同じエラーメッセージを受け取って見つけることができるすべてを試してきましたが、私の状況には当てはまらないようです。私はちょうど私が見つけることができないどこかにマイナーチェンジがあったと仮定しています。

これは2008年に完全に機能しますが、このエラーの原因となった変更点は見つかりません。

答えて

1

実際、SQL 2016サーバー(または2016ツールセットのみのコンピュータ)でこれを直接実行していますか?このMS Social pageによると、DACライブラリはSQL 2012以降、廃止されました。SMOライブラリまたはその他の.NETライブラリを使用して、少なくとも接続文字列を作成できるはずです。しかし、あなたのコマンドのいくつかのためにあなたのスクリプトを少しリファクタリングする必要があるかもしれません。

+0

DacStoreクラスが削除されたように見えますが、実際の置き換えはありませんでした。掘り出しに行く。リンクありがとう! – Skadwick

+0

あなたは大歓迎です@スカッジウィック – mokszs

関連する問題