AzureでDAC(データ層アプリケーション)パックAPIを使用する
-
27-10-2019 - |
質問
dacpac(データ層アプリケーション)からデータベースをアップグレードするために、powerscriptの例と同じAPIを使用する小さなアプリケーションがあります。
SQLServerツールがインストールされていないWindows2008サーバーで動作させるには、多くのdllを参照し、それらのdllで[ローカルコピー]を選択してコンパイルフォルダーに入れる必要がありました。これは正常に機能します。
Azureのワーカーロールから同じAPIを呼び出したいと思います。しかし、(同じdllで)実行すると、
"System.IO.FileLoadException:ファイルまたはアセンブリを読み込めませんでした 'Microsoft.SqlServer.BatchParser.dll'またはその依存関係の1つ。ザ・ サイドバイサイド構成のため、アプリケーションを起動できませんでした 間違っています。アプリケーションイベントログを参照してください」
ローカルエミュレータにデプロイすると正常に動作します。
ログから意味のあるものをまだ取得できていません(診断が正しいかどうかわかりません)。
記載されているファイルは公開パッケージに含まれています。ファイルの2つのバージョンを見つけましたが、もう1つのバージョンは32ビットであり、試してみると(当然のことながら)BadFormat例外が発生します。
これが私が参照しているdllです: ジェネラコディセタグプレ
私が見逃しているアイデアはありますか?
解決
私はこれをクラックしたと思います。VMへのリモートアクセスを有効にしました。これは、アプリケーションイベントにアクセスできることを意味します。ワーカーロールを実行した後、イベントビューアで、microsoft.vc80.crtが見つからないというエラーが発生しました。
その名前のdllは見つかりませんでしたが、見つかりました ジェネラコディセタグプレ
このフォルダ内: ジェネラコディセタグプレ
これは、私が含めた他の3つのdllを指しています: ジェネラコディセタグプレ
これまでにアップグレードを実行したのは1回だけですが、これが実行されたことを願っています。さらに問題を見つけて修正した場合は、ここで更新します。
これが誰かに役立つことを願っています。