BIMLを使用してソースとデスティネーションデータベースのスキーマを調べ、すべてが正しく設定されていることを確認してから、私の問題は、時々、OLE DB接続が、接続文字列で指定したものではなく、マスターシステムデータベースを使用して開始することです。返されたテーブルを調べることで、マスターデータベースであることがわかります。BIML OLE DB接続で間違ったデータベースが使用される(時々)
私はBIMLマークアップを使用して接続を定義します。
<OleDbConnection Name="appdb" ConnectionString="Server=<#=ReplicationConfig.appdbHostname#>;Database=<#=ReplicationConfig.appdbDatabaseName#>;Integrated Security=SSPI;Provider=SQLNCLI11;" CreateInProject="true" />
BIMLのルートノード上のOleDbConnectionオブジェクトのGetDatabaseSchema()
メソッドを使用しようとすると、私はほとんど問題にヒットしました。 Execute SQLタスクを使用しようとしているときにも実行しましたが、 [DatabaseName].[schema].[Table]
でテーブルを完全に修飾することができたが、GetDatabaseSchema()
メソッドではそのオプションがないため、SQLの実行タスクでは簡単に回避できました。私もImportDB()
とGetTableNodes()
を使ってみましたが、両方とも同じ問題が発生します。
私のソリューションを開発環境から移行して問題をテストしようとすると、再び問題が発生しました。これまでは、Visual Studioを再起動する(またはSQLクエリで処理する)ことでこれが修正されています。しかし、それは今回はうまくいきませんでした。
私は、Visual StudioでBIML Expressを使用しています2015年
誰が間違っている可能性、またはどのようにこの問題を回避するためにどのような任意のアイデアを持っていますか?