1

他のいくつかのデータベースを参照する SSDT データベース プロジェクトがあります。

私は現在、Dac API (DacPackage) を Microsoft.SqlServer.Dac.DacServices.Deploy() で使用しています。これは、参照されている dacpacs を正しく取得しています。

options.IncludeCompositeObjects = true;

私がやりたいことは、メモリ内のパッケージにクエリを実行して、dacpac から参照されているデータベースのリストを取得し、ランタイム構成に欠落がないことを確認できるようにすることです。

これを取得できる DacPackage のプロパティまたはメソッドが見つかりません。

これを行う方法はありますか?

4

1 に答える 1

1

箱から出して、No.

私はそれに対して接続項目を提起しました。それが将来のバージョンになることを願っています。

私はそれを行う方法に関するgithubサンプルを持っています:

https://github.com/GoEddie/Dacpac-References

基本的に、zip ファイルである .dacpac があります。この中には、一連の CustomData 要素を持つ model.xml があります。これらのそれぞれは、とりわけ別の dacpac への参照です。

このサンプルでは、​​これらの CustomData 要素をクエリ可能なクラス (HeaderParser::GetCustomData) として返します。また、HeaderParser::DeleteCustomData および HeaderParser::AddCustomData を使用して追加することもできます。

サンプルが気に入らない場合は、xml 自体をクエリおよび更新して、zip ファイルの読み取りに役立てることができます。「System.IO.Packaging.Package」を使用するか、サンプルの DacHackXml を参照してください。

于 2015-01-06T15:49:14.443 に答える