問題タブ [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-server - SQLServer2k8にOracleLoaderファイルを追加します
ここに問題があります:
Microsoft SQLServer2008に移行する必要のあるプロジェクトがあります。
Oracle SQL Loaderのテキストファイルにデータがあり、そのデータをSQLServerDBに取り込む必要があります。
すべてをINSERTステートメントに変換するプログラムを作成することもできますが、これを行うにはもっと快適な方法が必要です。
助言がありますか?
PS:私の会社は、この仕事をするために追加のソフトウェアを購入したいとは思わないので、それは終わりです。
sql - Oracle SQL データベースへの大量のデータのロード
私がこれから着手しようとしていることについて、誰かが経験を持っているかどうか疑問に思っていました. サイズが約1 GB程度のcsvファイルがいくつかあり、それらをOracleデータベースにロードする必要があります。ロード後の私の作業のほとんどは読み取り専用になりますが、時々更新をロードする必要があります。基本的に、データベースまで一度に複数行のデータをロードするための優れたツールが必要です。
これが私がこれまでに見つけたものです:
SQL Loader を使用して多くの作業を行うことができました
Bulk-Insert コマンドを使用できます
ある種のバッチ挿入。
どういうわけか準備済みステートメントを使用することは良い考えかもしれません。私は、この挿入物を完成させるための最速の方法は何だと誰もが考えているのだろうと思っていたと思います. 任意のヒント?
oracle10g - SQLローダーでOracleSequenceを使用していますか?
SEQUENCE
SQLローダー制御ファイルでキーワードを使用して主キーを生成しています。Oracle sequence
しかし、特別なシナリオでは、制御ファイルで使用したいと思います。SQLローダーのOracleドキュメントには、SQLローダーについては何も記載されていません。SQLローダーはそれをサポートしていますか?
substring - SQL*Loaderを使用してフィールドに収まるようにデータを切り捨てるにはどうすればよいですか? (ORA-12899)
Oracle SQL*Loader を使用して、別のデータベースの可変長文字列 (lob) であった列を Oracle の varchar2(4000) 列にロードしようとしています。4000 文字をはるかに超える文字列がありますが、移行時にこれらの文字列を切り詰めることができ、切り捨てられるべきであることに全員が同意しました (4000 文字を超えるデータを調べましたが、意味がありません)。そのために、制御ファイルで次のように列を指定しました。
ただし、SQL*Loader は、データ ファイル内でこのレコードが 4000 文字を超える行を引き続き拒否します。
レコード 6484: 拒否 - 表 LOG_COMMENT、列 COMMENTS のエラー。ORA-12899: 列COMMENTSの値が大きすぎます(実際: 11477、最大: 4000)
レコード 31994: 拒否 - 表 LOG_COMMENT、列 COMMENTS のエラー。ORA-12899: 列COMMENTSの値が大きすぎます(実際: 16212、最大: 4000)
レコード 44063: 拒否 - 表 LOG_COMMENT、列 COMMENTS でエラー。ORA-12899: 列COMMENTSの値が大きすぎます(実際: 62433、最大: 4000)
はるかに小さい部分文字列を取得しようとしましたが、それでも同じエラーが発生しました。制御ファイルを変更して、4000 文字を超える文字列データを切り捨てて varchar2(4000) 列にする方法を教えてください。
sql - SQL*Loader制御ファイルを使用して、日付をある形式から別の形式に変換します
infile からのデータは、MM/DD/YYYY
どのように制御ファイルにデータベースにロードするように指示するかという形式になっていますYYYYMM
。
sql - SYSDATE、USER の追加に役立つ SQL ローダー スクリプト
ファイルからデータをロードしようとしていて、CREATED_DATE と UPDATED_DATE を SYSDATE に、CREATE_BY と UPDATED_BY を USER に設定したい
ここで私が扱っているテーブル:
データファイルは次のとおりです。
そして私の制御ファイル:
SQLローダーでロードしようとすると...すべてのレコードが拒否されます:
私が間違っていることはありますか?前もって感謝します。
oracle - Oracle sqlldr 制御ファイルでタブ区切りファイルのロードを指定するにはどうすればよいですか?
これは単純なはずですが、タブ区切り/区切りデータを指定するための Oracle sqlldr 制御ファイルの正しい構文は何ですか?
FWIW、ファイルがUTF8ではなくUTF16であり、正常に編集されていましたが、Oracleが制御ファイルを読み取るときにnullバイトが導入されることがわかりました。今日も複製できません。
oracle - sqlldr を使用して一度に複数のファイルからデータをロードするにはどうすればよいですか?
SQLLDR を使用して Oracle DB にデータをロードする必要がありますが、それらの infiles の異なる位置を使用して、2 つの異なる INFILES からテーブルの一部をプルする必要がありますか?
oracle - ASCII コード範囲外の Unicode 文字が使用されている場合、NCLOB 値で sqlldr.exe を使用すると問題が発生する
sqlldr を使用して、LOB ファイルからのテキスト値を NCLOB 列に入力し、文字が通常の ASCII コード範囲にない場合、sqlldr 爆弾が発生します。
ログファイルから一見関連するセクション:
制御ファイルには
oracle - 変数をSQL*Loader制御ファイルに渡すことはできますか?
次のテーブルがあるとします。
そして、このテーブルに入力するための制御ファイルがあるとします。
batch_id
SQL*Loader の実行時に制御ファイルに値を渡すことはできますか? たとえば、バインド変数を指定することは可能ですか (疑問符を に変えます:MY_AWESOME_BATCH_ID
)。