2

一部のパッケージで問題が発生しました。基本的なレイアウトは、接続文字列がデータベースのSSIS構成テーブルに格納されることです。

最近、oledb接続のサーバー名が静的なままであるように見えることに気付きました。パッケージをある環境から別の環境に移動し、検証が失敗する場所を見てきました。パスワードを最初の環境で使用されているものに変更すると、検証されます。

接続文字列以外に、保存する必要のあるプロパティはありますか?変数や式を使用していません。

誰かがこれを見たことがありますか?問題のサーバーバージョンは2008R2です。

4

1 に答える 1

2

これは、構成ファイルによって提供されるものではなく、パッケージ自体に格納されている接続文字列を使用して検証しようとしていることが原因である可能性があります。この問題を回避する 2 つの方法を知っています。

  1. 各接続マネージャーとデータ フロー タスクには、DelayValidation というプロパティがあります。このプロパティを true に設定すると、構成によって接続文字列が変更されるまで、SSIS が接続とデータ フロー タスクを検証しようとしなくなります。問題は、デフォルト値が false であり、接続マネージャーとデータ フロー タスクごとに設定する必要があることです。また、新しい設定を作成するたびに、設定を反転することを忘れないでください。
  2. SSIS パッケージ内の接続文字列の実際の値を手動またはプログラムで変更して、配置する前に構成ファイルと一致させることができます。確かに、そもそも構成ファイルを持つ目的を無効にしているように見えますが、それが確実に機能することは確かです。これは、私がよく取るオプションです。テスト環境から本番環境に移行する前に、テキスト エディターでパッケージを開き、接続文字列の検索/置換を行います。私はそれが私のパッケージにとって安全であると判断しましたが、そのようなハックなソリューションと同様に、マイレージは異なる場合があります.
于 2013-02-11T04:51:43.373 に答える