問題タブ [ssis-2008]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SSIS 2008 R2 - 実行時に接続を動的に変更する方法
SQL Server SSIS 2008 R2 を使用しています。
パッケージの実行中に決定されたデータベースを指すように、実行時に OLEDB の接続マネージャーを動的に変更したいと考えています。
これは、構成ファイルを使用できないことを意味します。
これどうやってするの?
sql-server - 制御フローの黄色 - データ フロー内に色はありません。どうしたの?
質問が示唆するように、私はいくつかの制御フロー要素を持つ変換を見つめています。その多くはデータ フローです。
現在、制御フロー タブ内のデータ フロー オブジェクトの 1 つが黄色に点灯しています。ダブルクリックするか、[データ フロー] タブを選択してそのデータ フロー オブジェクトを開くと、どの色でもボックスが点灯しません。
これは、おそらくそれが検証されていると私に信じさせるでしょうか?
それが何をしているのかを知る方法と、このプロセスを高速化するための手順はありますか?
**編集:
実行を確認したところ、実行前の段階で約 50% 止まっているようです。この段階で行うべき最適化はありますか。
実行されていないデータフローのスクリーンショット。(これは、制御フローがこのデータ フロー タスクを黄色で表示しているときに取得されました)
ssis - 年末のSSIS Year()関数は正しくありませんか?
私の OLE DB ソースには、パラメーターを使用するクエリがあります。
パラメータは、私が制御する変数に設定された日付値です。ほとんどの日付について、これは正しいデータベース値を返しますが、2012 年 12 月 30 日と 2012 年 12 月 31 日が「2013」と評価されていることに気付きました。誰もこれを見たことがありますか?この特定のシナリオだけで、派生列などで YEAR 関数を使用しても発生しません。何が起こっているのか分かりますか?
sql-server-2008 - カスタム SSIS タスク - バージョン プロパティ
カスタム SSIS タスク (コンポーネントではない) があり、新しいプロパティを追加する必要があります。SSIS アップグレード機能をサポートするのは良いことです。そのため、すべてのクライアントは既存のパッケージをアップグレードする必要があります。
Update メソッドと CanUpdate メソッドは既に実装していますが、カスタム タスクの Version プロパティは読み取り専用であるため、更新する方法が見つかりません。
Version プロパティを設定する方法はありますか?
みんな、ありがとう!
deployment - SSISパッケージの展開
現在の設定では、展開の悪夢に直面しています。
基本的に必要なのは、ステップ2を削除し、dtsxをファイルとしてデプライすることです。MSDBにアップロードするのではありません。このようにして、本番環境に移行する必要のあるDEVの変更は、ファイルのプッシュだけです。
そのために、dtexec/Fスイッチを使用できます
私が持っていた質問は、/ SQLスイッチを引き続き使用し、ファイルシステムを使用してデプロイメントを透過的にする方法はありますか、それともこれを実現する他の方法はありますか?
ssis - 入力行ごとに 1 つのトランザクションを実行するにはどうすればよいですか?
oledb データ ソースを持つデータフローがあります。次に、3 つの Web サービス呼び出しを実行するスクリプト コンポーネントがあります。これには、入力行に対して (事実上) 同期する 2 つの出力 (入力行ごとに 1 つの出力行) と、非同期の 1 つの出力 (入力ごとに多くの行を出力する) があります。行)。各出力は sql update コマンドに送られます。エラー ログ出力もあります (これも非同期)。
入力行ごとに、行が完全に処理および更新されていない場合、その入力行の更新が成功しないように、何らかの方法で出力をトランザクションにラップしたいと考えています。
私が知る限り、これが機能する方法は、更新コマンドに移る前に、スクリプトが各入力行を処理し、すべてをバッファーに出力することです。行ごとにすべての更新を実行する代わりに、各入力行が処理および更新されたときに変更をコミットします。
これを達成するためにデータフローをどのように構築できますか?
おそらくソースを実行してから foreach コンテナーを介してレコードを実行することを考えていますが、ForEach コンテナーを介して複数の DataFlow を連鎖させる方法がわかりません。
sql-server-2000 - SSISの次の行に基づいてフィールドの値を計算する
BeginDate フィールドを持つ契約テーブルがありますが、SQL Server 2000 データベース (クリンジ) に終了日がありません。2008 環境で設計された SSIS パッケージを使用して、このテーブルからデータ ウェアハウスのステージング データベースにデータを移動しています。終了日を計算する必要があります。
終了日は、顧客の次の契約開始日から 1 日を引いた日です。
SQL Server 2000 以外では、これは CTE で十分簡単に実行できます。行番号を使用してセットにマージする 1 つの戦略を使用しましたが、ここでは機能しません。
私の戦略は、データソース コンポーネントを介して日付を取得することです。このようなもの:
次に、スクリプト コンポーネントを使用して ProcessInput メソッドをオーバーライドし、結果セットをループ処理して終了日を出力値として追加します。
これは哀れな方法のように思えますが、私の制約を考えると、おそらく最良の方法です。他のオプションを考えられる人はいますか?
c# - SSIS C# スクリプトを使用して SQL と SQL 文字列を実行する
SSIS (SQL Server 2008 BIDS) 内でスクリプト タスク (C#) を使用しようとしていますが、実際の SQL 文字列を SQL plus に送信する際に問題が発生しています。ユーザー名とパスワードを取得することはできますが、C# スクリプトから SQL 文字列を取得することはできないようです。SQL を .sql ファイルにすることはできず、C# スクリプト内から SQL を文字列として送信できるようにする必要があります。アイデアはありますか?
これが私のコードです(SQL文字列はコメントアウトされています):
SQL 文字列を含めて SQL plus に送信して実行するにはどうすればよいですか? また、SSIS はスクリプトの実行が完了したことを認識し、完了するまで次のタスクに移動しませんか?
ご協力ありがとうございました
ssis - 集中型DBの作成
異なるサーバー (B & C) に同じ名前の 2 つのデータベース (A) があります。両方のデータベースに同じスキーマがあります。(SQL サーバー 2008 r2)
タスク 1:両方のデータベースを名前 (A_B および A_C) で 3 番目のサーバー (D) にコピー (転送) します。
タスク 2:両方のデータベースを 1 つのデータベース (A_D) にマージします。(鍵の扱い方がわからない)
タスク 3:毎日、サーバー B と C からデータを取得し、中央のサーバー D に配置する必要があります。
どんな助けでも大歓迎です。
ありがとう。
リテシュ
ssis - プロセス実行タスクの式の SSIS 2008 ユーザー変数
SSIS 2008 パッケージがあります。
パッケージには 3 つのユーザー変数があります。1 つは環境用、1 つは実行可能ファイルのパス用、もう 1 つは電子メールのメッセージの一部です。
環境変数に基づいてパス (strAppPath) の変数を設定するスクリプト タスクがあります。
strAppPath は、プロセス実行タスクの Executable プロパティの式で使用されます。ジョブは、プロセス実行タスクの実行可能パスが設定されていないことを示して失敗します。
スクリプト タスクが変数を設定する前に、このパスをチェックしていると想定しています。
これを回避する方法はありますか?