問題タブ [datastage]
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.
datastage - Datastage 9.1 - フォルダーから複数のファイルを読み取り、名前に基づいて分割する
私は DataStage 9.1 を使用しています。開始すべきいくつかのベスト プラクティスを見つけるという私のタスクを公開します。
フォルダーから複数の csv ファイル (すべてのファイル) を読み取り、ファイル名の最後の 2 文字に基づいて 10 個の異なるジョブで ETL の実行を切り替える必要があります。次に、私の質問は次のとおりです。
目的は、ファイル fileXX が ETL の入力として使用され、tabXX、fileYY が tabYY などを埋めることです..
1) フォルダから複数のファイルを読み取る方法は? 2)ファイル名に基づいてジョブを切り替える方法、または入力ファイル名の値に基づいてパラメトリックジョブを開発するにはどうすればよいですか?
私の仕事を最良の方法で開始するために、誰かが私に意見を与えることができますか?
database - データステージ ファイル シーケンスのインポートに小数を含むスキーマ ファイルを使用する
Datastage 経由でデータベースにインポートする一連の CSV があります。RCP とスキーマ ファイルを使用してこれを実行しようとしています。
CSV に付随するマスター テーブル リストを使用して、CSV からスキーマ ファイルを生成します。
私は1つの問題に直面しています。数値が特定のテーブルの最後の列であることがわかった場合、それはスキーマ ファイルの最後のエントリです。私の問題はnull処理です。CSV はコンマ区切りで、文字列は二重引用符で囲まれ、null のデータはありません。
マスター リストでは、これらの数値列の一部が number() として識別されます。これは、出力のオラクル記述を示しています。そのために、私はこれを試しています:
:nullable decimal[38,9] { デフォルト = 0, テキスト }; この例では、位取りと精度はデフォルトで 38,9 に設定されています。
ヌル エントリは、次のエラーになります。適切な「幅」プロパティを指定する必要があります。外部フォーマット: {text, padchar=32, nofix_zero, precision=38, scale=9, round=trunc_zero, ascii}. [10 進数/impexp.C:939]
だから私は試しました: :nullable decimal[38,9] { default=0, text, width=47 }; この例では、位取りと精度はデフォルトで 38,9 に設定されています。幅は、2 つの値の合計です (38 + 9 = 47...10 進数 [10,2] など、別の場所で指定されていない限り)。
ODBC_Connector_3,0: フィールド "" での入力バッファ オーバーラン、オフセット: ### [impexp/group_comp.C:6006]
最後に、私はそれが言ったことを正確に試して、これをしました: :nullable decimal[38,9] { default=0, text, padchar=32, nofix_zero, precision=, scale=, round=trunc_zero, ascii, width=47 } ; この例では、位取りと精度はデフォルトで 38,9 に設定されています。幅は、2 つの値の合計です (38 + 9 = 47...10 進数 [10,2] など、別の場所で指定されていない限り)。
この 3 回目で、次のエラーを受け取りました: フィールド "" で入力バッファ オーバーラン、オフセット: ### [impexp/group_comp.C:6006]
誰かがこれに遭遇しましたか?これは、10 進数がテーブルの最後の列である場合にのみ発生します。
私のレコード設定は次のとおりです: {intact, final_delim=none, record_delim='\n', charset='UTF8', delim=','}
どうもありがとうございました。
datetime - システム日付を「mm/dd/yyyy hh:mm:ss」の形式で DataStage Transformer に追加します。
Datastage の日時規則を手伝ってくれる人はいますか?
システム日付を「mm/dd/yyyy hh:mm:ss」の形式でデータステージ トランスフォーマーに追加する必要があります。
Datastage 7.5 バージョンを使用しています。
database - Datastage サーバー ジョブ V8.5 OracleDB の日付が正しく読み込まれない
DataStage® リリース: 8x
ジョブ タイプ: サーバー
OS: Windows
追加情報: Datastage サーバー ジョブ V8.5
ここに固有のエラーがあります。
データステージ サーバー ジョブでは、
シーケンシャル ファイルからのソース データに、値 yyyymmdd の日付フィールドがあります
日付 20121017
Oracle DB にロードしていますが、データベースのその列は「21-JUN-57」と表示されます (これは 06/21/7057 です)
私は日付に変換を行っていません。ストレートマッピングです。
17-OCT-2012 の形式のターゲットが必要です
シーケンシャル ファイルのソース データの SQL タイプは日付で、ターゲットの SQL タイプは同じです。Oracle DB は、列名、データ型に関して完全に一致します。
日付が正しく読み込まれない理由と、問題を解決する方法を教えてください。
sql - 次のエラーが原因で Datastage ジョブが終了しています
DB2 を介して入力し、DB2 に出力するデータ ステージ ジョブを実行しています。入力側には、結合と関数を含むクエリがあります。
次の警告メッセージが表示されます。
私のデータにはそのような記録はありません。データの品質は良好です。次に、これらは何ですか????、少し検索したところ、デフォルトの2000ではなく、配列サイズと行数を1に保つ提案が見つかりました。しかし、それでも同じ警告が表示されます。
多くのエラーの後にこの警告が表示されます。次のエラーも興味深いです。
エラーは最初の警告によるものだと思います。親切に私を助けてください。よろしく、
sequential - IBM datastage 8.1 でシーケンシャル ファイルが正しくないファイル データを読み取る
私が直面しているシナリオは次のとおりです。
たとえば、A.txt という名前で 100 行のシーケンシャル ファイルが生成されます。別のジョブの入力として同じシーケンシャル ファイルが必要ですが、今回は、行を 140 として読み取りますが、物理的には 100 行しかありません。列、区切り文字、プロジェクト比較のプロパティを検証するなど、この ind Datastage について多くのことを分析しましたが、まだできません.. . 誰かがこの問題で私を助けることができれば、非常に感謝しています..
ありがとう
oracle - IBM Data Stage - ジョブで使用されるデータベース テーブルを見つける方法
プロジェクトでは、IBM Data Stage の既存のインストールを調査し、大量のジョブで大量の ETL を実行する必要があります。
ジョブ フロー ダイアグラムには、ソース (MSSQL と Oracle の両方) とターゲット (主に Oracle) で使用される多くのテーブルが含まれています。
私の質問は今です
特定の Data Stage Project のすべてのジョブで使用されるすべてのデータベース テーブルを見つけるにはどうすればよいですか?
ツール - 高度な検索を調べたところ、すべての「テーブル定義」が表示されました。しかし、ジョブで実際に使用されるテーブルのほとんどは、実際にはデータベース テーブルに対する SQL クエリである Data Stage と呼ばれる「並列ジョブ」として定義されているため、そこには表示されません。
ジョブによってロードされている TARGET テーブルを見つけることに特に関心があります。
率直に言えば、「どのジョブがテーブル XY をロードするのか?」という質問に答えられるようになりたいのです。
それが不可能な場合は、ジョブで使用されるすべての SQL ステートメントを抽出する自動化された手段が代替手段になります。
IBM Websphere Data Stage and Quality Stage Designer 8.1 にアクセスできます
datastage - datastage buildop エラー - エラーをスローする buildop
データステージでジョブを実行しているときに、次のエラー メッセージが表示されます。buildop ステージがこのエラーをスローしています
フィールドは入力フィールドです。
getEditsReturn は buildop への唯一の入力列です。
コードは
ここで、入力は c++ 文字列型です (char[] ではありません)。入力列を char[] にも割り当てようとしました。それも機能していませんでした。autoread と autowrite を false に設定しました。fprintf を使用して、これらの出力列をファイルに書き込んでいます。ファイルでその出力を正しく取得しています。しかし、ステージは失敗しています