2

SQL Server パッケージ構成テーブルからいくつかの変数データを設定する SSIS パッケージがあります。(「構成設定を直接指定する」オプションを選択)

これは、パッケージの開発時に指定したデータベース接続を使用している場合にうまく機能します。ただし、テスト環境のサーバー (64 ビット) で (エージェント ジョブとして、またはパッケージを直接実行して) 実行し、接続マネージャーで新しい接続文字列を指定すると、パッケージは DB サーバーから設定を読み取ります。開発時に指定したもの。

他のすべての接続は正しい接続文字列を使用しますが、間違った場所から読み取るのはパッケージ構成のみのようです。

アイデアはありますか、それとも本当に間違ったことをしていますか?

4

9 に答える 9

1

これを行うことができた唯一の方法は、Windows環境変数を使用することでした。環境変数で接続文字列やユーザー設定などを指定し、SSISタスクからそれらの環境変数を取得できます。

于 2008-09-02T05:49:34.997 に答える
1

uがSQLServerパッケージ構成を使用している場合、パッケージのすべてのプロパティはSQLServerテーブルから取得されます-次のことを確認してください

于 2010-11-16T12:55:16.297 に答える
1

SSIS パッケージを呼び出すジョブを作成していて、ステップを設定しているときは、タブ付きの領域があります。デフォルトのタブはパッケージ名を設定する場所で、次のタブは構成ファイルを設定できる場所です。パッケージごとに構成ファイルを用意し、サーバー (dev、test、prod) 用に変更します。構成ファイルは、dev、test、および prod サーバーに直接置くことができ、そのジョブをセットアップするときにそれらを指すことができます。

于 2008-09-30T03:32:10.827 に答える
1

私は実際にあなたの質問を完全に理解していませんでしたが、接続設定を構成ファイルに保存します。通常、開発、運用などの環境ごとに 1 つです。パッケージは、実行時に構成ファイルから接続設定を読み取ります。

于 2008-09-03T10:07:15.447 に答える
1

SQL クライアント構成でサーバー エイリアスを使用することを好みます。こうすることで、パッケージが別の SQL Server を指すようにする場合、別名を編集して新しいサーバーを指すようにするだけで済み、SSIS パッケージで編集する必要はありません。パッケージをライブサーバーに移動するときは、エイリアスを追加する必要があり、それは機能します。

これは、サーバーに本当に面倒な命名規則がある場合にも役立ちます。エイリアスは、実際のマシン名よりもわかりやすい名前にすることができます。

于 2008-09-02T13:19:11.420 に答える
0

SSISのセキュリティは現状ではひどいものです。私が不在のときは、だれも物事をサポートすることはできません。ジョブは構成ファイルから読み取ることはありません...私はあきらめます。[データソース]タブで文字列を編集した場合にのみ機能します。ただし、2回目にジョブに入ると、パスワードが失われます。ひどいデザイン、絶対にひどい。ジョブステップでxmlファイルを指定すると、定義されている接続文字列がそこから読み取られると思いますが、そうではありません。これは本当に他の誰かのために機能しますか?

于 2008-10-30T14:34:47.187 に答える
0

パッケージのプロパティに移動し、配置を True に設定します。これは、あなたが行ったことに対して機能するはずです。

于 2009-01-06T18:12:33.353 に答える
0

パッケージ構成をデータベース テーブルに保持したいと考えています。他のデータと一緒にバックアップされることがわかっており、その場所もわかっています。ただの好み。

これを機能させるには、環境変数構成を使用して、パッケージ構成を読み取っている接続マネージャーの接続文字列を設定できることがわかりました。(ただし、新しい環境変数を見つける前に SQL Server エージェントを再起動する必要がありました。これを運用環境にデプロイする場合は理想的ではありません)

スケジュールされたタスクのステップとして SSIS パッケージを実行すると、次の順序で動作します。

  • パッケージ構成オーガナイザーに表示される順序で各パッケージ構成をロードします。
  • スケジュールされたジョブのジョブ ステップ プロパティの [データ ソース] タブから接続文字列を設定します。
  • パッケージの実行を開始します。

スケジュールされたジョブからパッケージ構成のデータ ソースを設定できるように、最初の 2 つは逆であると予想していました。それは、パッケージを維持するときに他の人がそれを探すことを期待する場所です.

于 2008-09-08T23:23:34.987 に答える
0

同じ質問があり、同じ答えが得られました。つまり、SQL Server 接続文字列を環境変数に含めるように指定した場合を除き、SQL Server でホストされているパッケージ構成に使用される接続文字列を編集することはできません。

残念ながら、これは 2 つの環境が同じマシンでホストされている私の開発セットアップでは機能しません。SQL Server Central [無料のサインアップと優れたサイト] で詳述されている Scott Coleman のアプローチに従うことになりました。秘訣は、1 つの中央サーバーに構成設定を保存するビューを作成し、それに接続するマシンを使用してアクティブな環境を判断することです。

私はそのアプローチを使用しましたが、環境に接続しているユーザーも使用して決定を下しました。これは、テストと開発のセットアップが同じ SSIS インスタンスで実行されますが、異なるユーザー名として実行されるためです。Scott は、アプリケーション名を設定する必要があることをコメントで提案していますが、これはパッケージ実行ジョブ ステップでは変更できないため、オプションではありませんでした。

私が見つけたもう 1 つの注意点は、構成変数の挿入、更新、および削除を行うために、"代わりに" トリガーをビューに追加する必要があることでした。

于 2009-07-28T06:08:11.200 に答える