問題タブ [script-component]

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.

0 投票する
2 に答える
4018 参照

sql-server - SSIS VBScript で EOF を指定するにはどうすればよいですか?

SSIS VBScriptでファイルの終わりまで読み取るための構文は何ですか?

編集:実際には、ファイルの最後の行の値を取得しようとしています。そのため、EOF ではないまで読み取ることは、ファイルの最後まで読み取ることとまったく同じではありません。しかし、私はあまりにも多くをカットしたので、サンプルコードは貧弱でした。

0 投票する
3 に答える
6694 参照

ssis - スクリプト コンポーネントからのシステム変数の読み取り

スクリプト コンポーネントからシステム変数を読み取る最良の方法は何ですか。

以下のように試してみました: ユーザー変数の場合は正常に動作します

システム変数を読み取ろうとすると、次のエラーがスローされます。

スクリプト コンポーネントでユーザー コードで例外が発生しました: プロジェクト名: SC_0bfc7da1c6fe4b83bc124b87eb4178e5 HRESULT からの例外: 0xC0010009

Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVa​​riables100.get_Item(オブジェクト インデックス) で ScriptMain.PreExecute() で Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PreExecute()

手がかりをください。

ありがとう

0 投票する
1 に答える
20097 参照

sql-server-2008 - 変換中にSSIS2008スクリプトコンポーネントを使用して行を追加するにはどうすればよいですか?

変換としてセットアップされたSSIS2008スクリプトコンポーネントがあり(入力と出力があります)、入力で1行を取得し、オプションで複数の行を出力します。

2005年にはAddRowメソッドとCreateNewOutputRowsメソッドがありましたが、2008年には利用できないようです。

では、変換中に行を追加するにはどうすればよいですか?

0 投票する
2 に答える
9452 参照

c#-3.0 - InputRow+SSISスクリプトコンポーネントごとにストアドプロシージャを実行する

私のスクリプトコンポーネントで、複数の行を返すストアドプロシージャ=>を実行しようとしています=>そのうちの出力行を生成する必要があります。

以下のようにコーディングします。

}

これは常に最初の行をスキップします。

while(Row.NextRow())は、常に入力バッファーの2番目の行をもたらします。

私は何を間違っているのですか。

ありがとう

0 投票する
2 に答える
1988 参照

ssis - ルックアップ コンポーネントとスクリプト コンポーネントを使用した SSIS ルックアップ

EDW テーブル (履歴レコードを維持する) からディメンションをロードする必要があり、タイプは Key-Value-Parameter です。

以下のように EDW でレコードを取得した場合、私のシナリオは問題ありません

これは、次のようにピボットして DM にロードする必要があります。

key1 と key2 の組み合わせにより、DM の自然キーが作成されます

私のssisパッケージは、これをすべて適切にピボットします... DIMで受信NKを検索します..新しい場合は挿入されます..それ以外の場合は、発効日をさらに検索して、同じ自然キーの受信が属性に新しい(変更)があるかどうかを判断します.. その場合、終了日を設定して現在のレコードを更新し、新しい属性値で新しいレコードを挿入し、他の属性の最近のレコード値を取得します。

私の問題は、単一の抽出で同じ属性を持つ同じ自然キーが2回来る場合、最初のルックアップで、自然キーで..両方のレコードを通過させ、挿入しようとします..失敗する場所です。NKで個別のレコードを取得した場合、2番目は選択されず、パッケージを再度実行する必要があります。

したがって、同じNKが単一の抽出で2回来る場合、このシナリオを処理するためのルックアップまたは代替方法をどのように構成できますか? Dimテーブルに存在しない場合は最初のレコードを挿入でき、2番目のレコードは上に挿入されたものへの参照。

これが何を説明しようとしているのかわからない。スクリーンショットを添付して、作業デスクに戻します (月曜日)。

ありがとう

0 投票する
2 に答える
1731 参照

ssis - ProcessInputRowメソッドで行の処理を中止しますか?

ProcessInputRowメソッドで行の処理を中止することは可能ですか?この関数で受信CSVデータを使用していくつかのデータ検証を行っています。サブに行の値を設定しています。エラーが発生した場合は、ProcessInputRowでキャッチし、後で承認するためにステージングテーブルへのデータの書き込みを開始します。すべてが正常に動作します。問題は、不良データのある行がまだターゲットテーブルに書き込まれていることです。

たとえば、次のような日付列にCDateとして追加しようとする文字列値99-02-2010の行があります。

Row.ChangeDate = CDate(rowValues.GetValue(0).ToString())'=>例外をスローします

言われているように、例外はステージングテーブルに行を書き込むことによってスローされ、処理されます。しかし、スクリプトタスクによってこの行の処理を停止する方法が見つかりません。何か案は?

よろしく

0 投票する
2 に答える
1990 参照

c# - CHAR(n) フィールドの '\0' 文字を削除する SSIS スクリプト コンポーネント

現在、フィールドに '\0' 文字が含まれるデータベースに取り組んでいます。

たとえば、フィールド

値が '\0\0\0\0' (4 つのゼロ文字) の場合もあれば、' ' (4 つの空白文字) の場合もあります

スクリプト コンポーネントを使用して、この問題のあるすべてのフィールドを個別化したいと考えています。次のスクリプトを作成しましたが、C# が '\0\0\0\0' を空の文字列に変換するため、機能しません。

「\0」文字を個別化できるようにするために、フィールドを文字列ではなくバイト配列に変換することは可能ですか?

0 投票する
1 に答える
565 参照

ssis - SSIS: スクリプト コンポーネントでトリムを行わずに一部の列をトリムします...::::

48 個のフィールドを持つテーブルがあり、一部のデータをフィルタリングしており、他の 38 個のフィールドでスクリプト コンポーネントを使用する必要があります (実際にデータを変更している 10 個のフィールドにこれが必要です)。トリムのみを行いたい. スクリプト コンポーネントでこれを実行できることはわかっていますが、もっと効率的な方法で実行したいのですが...ありがとうございます。

0 投票する
3 に答える
4195 参照

sql-server-2008 - SSIS: 出力バッファから空の行を削除する

データ フロー タスクでエラーが発生しました。

非同期スクリプト コンポーネントに向かう ado.net ソースがあります。

問題は、スクリプト コンポーネントから挿入先への挿入の最後で発生します。

テーブルの出力バッファに自動的に配置される空の行を配置しようとします。

これが起こらないようにする方法はありますか/出力バッファを操作して特定の行を削除するにはどうすればよいですか?

0 投票する
1 に答える
1008 参照

ssis - 列名からアンダースコアを削除する SSIS スクリプト コンポーネント

SSIS スクリプト コンポーネント ストリップは、列名のスコアの下にあります。

例 : 列名 : Customer_ID

スクリプト コンポーネントでは、次のようになります。

エラーログを実行し、正しい列名が必要な他の.dllに列名を渡す必要があるため、アンダースコアを使用して列名を取得するにはどうすればよいですか。