0

BIML を使用してソース データベースと宛先データベースのスキーマを調査し、すべてが正しく構成されていることを確認してから、多数の SSIS パッケージを生成しています。私の問題は、接続文字列で指定したものではなく、Master システム データベースを使用して OLE DB 接続が開始されることがあるということです。返されたテーブルを調べると、マスター データベースであることがわかります。

BIML マークアップを使用して接続を定義します。

<OleDbConnection Name="appdb" ConnectionString="Server=<#=ReplicationConfig.appdbHostname#>;Database=<#=ReplicationConfig.appdbDatabaseName#>;Integrated Security=SSPI;Provider=SQLNCLI11;" CreateInProject="true" />

GetDatabaseSchema()BIML ルート ノードで OleDbConnection オブジェクトのメソッドを使用しようとしたときに、主にこの問題に遭遇しました。SQL実行タスクを使用しようとしたときにも遭遇しましたが。テーブルを完全に修飾できたので、SQL 実行タスクを回避するのは簡単でしたが、メソッド[DatabaseName].[schema].[Table]にはそのオプションがありません。GetDatabaseSchema()と も使用してみましたがImportDB()GetTableNodes()どちらも同じ問題が発生します。

ソリューションを開発環境から移行してテストしようとすると、問題が再び発生しました。以前は、これは Visual Studio を再起動する (または SQL クエリで回避する) ことで修正されていました。ただし、今回はうまくいきませんでした。

Visual Studio 2015 で BIML Express を使用しています。

何が間違っているのか、またはこれを回避する方法を知っている人はいますか?

4

1 に答える 1