問題タブ [sql-loader]
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 - SQL ローダーの問題
XML ファイルから SQL Loader 経由で Oracle にロードしようとしている列の一部が null です。たとえば、いくつかが埋められているかもしれませんが、時折いくつかのヌルがあります。
一部のデータが NULL になることを SQL*Loader に伝える方法、または NULL を処理する方法を教えてください。
oracle - 制御ファイルのデータを検証するにはどうすればよいですか?
SQLLoaderがパスから入力データファイルを読み取り、制御ファイルで指定された記述に基づいてデータをテーブルにロードするとします。最初に、入力するテーブルが作成されます。
サンプル制御ファイル:load_1.ctl
位置11から20はfield_1にロードされ、位置1から10はfield_2にロードされることに注意してください。フィールドload_timeには、ロードの現在の時刻(sysdate)が入力されます。
これがデータです。ファイルの名前(load_1.dat)は、制御ファイルのinfileステートメントで指定されていました。
load_1.dat
ここでは、データファイルに文字値(ie)abcdefghijが含まれているため、field_1(数値データ型)を検証します。
oracle - SQLローダーのInsertステートメントとAppendステートメントの違いは?
SQLローダーのInsertステートメントとAppendステートメントの違いを教えてもらえますか?次の例を検討してください:これが私の制御ファイルです
これが私のデータファイルです
oracle - SQL ローダー: 制御ファイルのストリーム レコード形式のデフォルトの区切り文字はどれですか?
ここに私の制御ファイルがあります
上記の例のデフォルトの区切り文字を誰か教えてもらえますか?
oracle - DB2データをOracleデータベースにアップロードします-ジャンクデータを修正します
データのDB2エクスポート(約7 GB)と関連するDB2制御ファイルが与えられました。私の目標は、すべてのデータをOracleデータベースにアップロードすることです。私はこれにほぼ成功しました-制御ファイルをSQL*Loader CTLファイルに変換するルートを取りましたが、ほとんどの部分で機能しました。
ただし、一部のデータファイルには、データベースに読み込まれる一部の列にターミネータとジャンクデータが含まれているため、そのデータの照合で明らかな問題が発生することがわかりました。たとえば、列には「9930027130」が含まれている必要があり、length(trim(col))= 14:4バイトのジャンクデータが表示されます。
私の質問は、システムからこのジャンクデータを排除するための最良の方法は何ですか?CTLファイルに単純な追加があり、ジャンクをスペースに置き換えることができるといいのですが、そうでない場合は、SQL * Loaderを実行する前に、データを分析してnull/ジャンクをスペースに置き換えるスクリプトを作成することしか考えられません。
oracle - 複数のxlsファイルからOracleテーブルへのデータのロード
複数の XLS ファイルがあります。以下のように、これらのファイル名をテーブルに保存しました
テーブル名シーケンス
ファイル 1.XLS 1 ファイル 2.XLS 2 ファイル 3.XLS 3
各ファイルには 3 つのフィールドがあります
フィールド1 フィールド2 フィールド3
今、4つの列を持つテーブルのデータにロードする必要があります
FIELD1 FIELD2 FIELD3 FIELD4 、ここで FILED4 は、ファイル名の SEQUNCE によるフィールドである必要があります。
ファイルからデータをロードする方法を提案してください
oracle - SQLLDR -- パイプで区切られた txt からの選択的な読み込み
SQLLDR を使用してセレクティブ ロードを行う方法を探しています。ソースファイルは「パイプ区切り」形式です。
ソースが事前定義された位置にある場合、これを行う方法があることはわかっています。ここでは、WHEN & POSITION キーワードを使用して説明します。
ソースファイルが「パイプまたはタブ」で区切られている場合はどうすればよいですか?
sql-loader - SQLLDR - WHEN 句の問題
制御ファイルに複数の when 句があり、その半分にロードしているデータが when 句を満たし、目的のテーブルに挿入されます。残りの半分は (私が期待している) ありませんが、 when 条件を満たしていないデータが破棄ファイルに配置されることを期待していましたが、作成されたものはありません。
何か案は?
私のテーブル構造は次のとおりです。
私のサンプルデータは下にあります(これらは固定フィールドであるため、これらは右に埋め込まれています)最後のレコードは、when句の条件を満たさないため、破棄して破棄ファイルの横に配置する必要がありますが、破棄ファイルは作成されません。when 句を 1 つ使用してみましたが、破棄ファイルが作成されました。破棄ファイルが作成されていない複数のテーブルを使用しているようです。
ありがとう
scripting - バッチ スクリプトでヘルプが必要: 1 つまたは 2 つの配列を使用するか、タプル名番号を使用してファイルを解析します
いくつかのパラメーター、より正確には名前と関連する番号でカスタマイズされた sqlldr コマンドを実行したいと考えています。今のところ、名前の繰り返ししかありませんが、それぞれを番号に関連付けたいと考えています。
2 つのオプションがあります。別の数値の配列を使用するか (これが最も難しい場合があります)、次のようなテキスト ファイルを解析します。
等々
次に、これらの値を vars に取得し、それらを sqlldr コマンドで使用して、ログ名と行数をカスタマイズします。
バッチ スクリプトの配列が悪夢であることは理解していますが、試していますが、うまくいきません。誰か助けてくれませんか?
sql - SQLローダー-ロード時にLFを削除します
SQLローダーを使用してフラットファイルをロードしました。たとえば、MYFIELD2列の値内のすべてのLFを削除するために、ロード時にコントロールを追加する必要があります。
列は「|」を使用して区切られます そして私は次の制御ファイルを持っています:
それを行う方法はありますか?