お世話になります、
以下のようにデータをSQLLDRでインサートしようと思っているのですが、複数のCSVファイルのデータを一つのテーブルにInsertしたい場合にどのようにすればいいか教えてください。

--バッチファイル
sqlldr userid=fmwuser/fmwuser@fmw001 control=ctl/AUTHORITY.CTL log=section1.log data=csv/AUTHORITY.csv

--CTLファイル
LOAD DATA
TRUNCATE
INTO TABLE AUTHORITY
FIELDS TERMINATED BY ','
( AUTHORITYCODE ,AUTHORITYNAME,EXECUTIVE)

CTLファイルでTRUNCATEを付けるとテーブルを初期化してからインサートするからむりですよね...
TRUNCATEをはずすと、データが入っているテーブルに対してSQLLDRは使用できないと怒られるし...

CSVファイルを一つにまとめるしかないのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

No.1のyujiさんが述べているとうりですが、もう少しヒントをあげます。



・コントロールファイルで、"truncate"ではなく"append"を使うこと。
・コントロールファイルに、"infile"で読み込み対象のファイルを指定。
 "infile"は1コントロールファイルに複数記述できます。

あとは、Oracleのマニュアルをよく読むこと!
マニュアルをよく読めば、この程度のことは全て説明が記載されています。
    • good
    • 0

TRUNCATE ではなく APPEND を使えば


追加でデータがロードできます。

マニュアルに書いていますよ。
ちゃんと読みましょう。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルのフリーズ

ノートパソコンでエクセル2003を使用しているとしょっちゅう画面がフリーズしてしまいます。
フリーズ時間は最大で5秒間程で、頻度は5秒~15秒くらいに一回とかなり頻繁です。(普通のA4サイズの書類を作るのに1時間ほど掛かります)
状態としてはフリーズ中はカーソルも止まってしまい、でもその間に入力した文字等は記憶しているらしく、フリーズが解けた瞬間一気に打ち出されるような感じです。
エクセル以外は何の問題もなく、またそのエクセルのファイルを同ネットワーク上にある他のパソコンで操作しても何の問題もないので、自分のパソコンの中のエクセル本体が壊れているかのような状態です。
どなたか助けていただけないでしょうか?
ちなみにこの現象は突然起きるようになりました。

Aベストアンサー

ソフトの不具合が原因です。再インストールをお勧めします。

QCSVファイルをアクセスのテーブルに出力する

こんにちは
Access VBA初心者です。

やりたい処理なのですが
CSVファイルをmdb内であらかじめ作成されているテーブルに出力したいのですが、
最初にTransferTextwでワークのテーブルにインポートして
そのワークテーブルを1レコードずつ読み込みmdbのあらかじめ作成されているテーブルにINSERTしていくという方法しか今思いつきません。
インポートするとワークテーブルはすべてテキスト型になっていますが、
それを違う型の項目にINSERTするということなど可能なのでしょうか?
それとももっとスマートな方法があるのでしょうか?

ざっくりと書いてしまいましたが、よろしくお願いいたします。

Aベストアンサー

1.CSVファイルをリンクする。
2.1で作成したリンクテーブルを元にしてクエリを作成する。
3.2のクエリーを追加クエリーにして、その各項目をデータ取り込みを行うテーブルのレコードを追加する各項目と一致させる。
4.クエリを実行する。

VBAで自動化したい場合、CSVファイル名やパスが毎回同じなら、4だけを実行する形(Docmd.OpenQuery)だけでいいかと思います。

Qエクセルで画像を貼り付けるとフリーズしてしまう。

エクセルに画像を貼り付けるとパソコンがフリーズしてしまいます。何故でしょうか?解決方法を教えてください。

OSは、Windows2000です。
エクセルのバージョンは、2003。

Aベストアンサー

Win2000で198MBはちとキツイかな?
エクセルのバージョンが2003というのは、Office2003を入れていると思うのですが、他にアンチウィルス系も動いているのでしょうから、256MBは欲しいですね。

最近似たような質問があって、直接貼り付けるよりも問題のjpegをファイル保存しておき、エクセルの[挿入]→[オブジェクト]で実施したらどうかという回答があったばかりです。このときはワードでしたが、エクセルでもお試しみてはどうですか。

QACCESSで毎回CSVファイルをテーブルにインポートする

ACCESSでGUIで毎回CSVファイルをインポートしていますが、
(テーブル→新規作成→デーブルのインポート)
自動化?VBA?することはできるのでしょうか。
ACCSESSは初心者でよくわかっていません。
よろしくおねがいします。

Aベストアンサー

>「マクロに設定」のやり方がわかりません。
え、そうなんですか。
アクセスを開くと左側に「マクロ」ってありませんか。
そこで新規作成します。
テーブルを削除するとか、クエリを開く(実行する)とか、動作を順番に設定するのです。
任意に実行したいなら、マクロ名は任意で構いません。
mdbを開いたら、必要なときにマクロを実行するだけです。

>こちらはoffのする方法が、チェックを外せばいいということでしょうか。
見つけましたよね。そのチェックを外します。

あのー、とりあえず解説書などお持ちではないですか。
最低限のことはそういう書籍で勉強して欲しいのですが。(マクロがわからないことにびっくりしたので)
ここで一つ一つやり取りするわけにもいかないので。

Qエクセルがフリーズ

エクセルで通常の使い方をしているのに、突然マウスポインターがフリーズします
何回もあります。何が原因でしょうか?パソコンはNECのノートです。

Aベストアンサー

¥Windows¥TempフォルダにEXCEL使用に
テンポラリファイルが作成されてれば、
これを削除すると改善されるかも?

むやみに消すとまずいこともありますのでくれぐれも慎重に。

QアクセスのテーブルデータをCSV出力し、Nullフィールドは""にしたい場合

こんばんは。
お世話になっております。

アクセスのテーブルのデータをcsvに吐きだすと、
"あ","い","う","え",,,"お","か"

以下のようにnullフィールドは""なしで,(カンマ)だけで区切られてしまいます。
これを,"",の形にしたいのですが、出力方法の設定等あるのでしょうか?

↓こういう形を
"あ","い","う","え",,,"お","か"
↓このようにnullフィールドに""を付与したい
"あ","い","う","え","","","お","か"

ご存じの方いらっしゃいましたら是非とも教えて頂きたいと思います。
宜しくお願い致します。

Aベストアンサー

テーブルをエクスポートするのではなく
クエリでNullを""に置き換えたものをエクスポートすればいいのでは

Qエクセルのフリーズとタスクマネージャーの無反応

エクセル使用時たびたびフリーズするので困っています。(多い時は1時間で3回)
質問集で同じような症状が無いか探したのですが、見つからないので質問いたします。

エクセル使用時、リボンやシート見出し、をクリックすると画面の半分が白くなりフリーズすることがあります。
「Alt] 「Ctrl] 「Delete」 を押しても無反応なので、強制終了をします。
再立ち上げ時、セーフモードを選択しても途中で停止してしまうので、通常モードで立ち上げています。(何も無い時はセーフモードで立ち上げることができます。)

1)フリーズの原因と対処法
2)「Alt] 「Ctrl] 「Delete」を押しても反応しない原因と対処法
3)そのあとの再起動時にセーフモードが途中で停止してしまう原因と対処法
分かる方がおられましたら、お教え下さい。

OSはwindows7、office2007
エクセルのサイズは33KBから188KBです。

初めて質問しますので抜けているところがあれば追加します。
よろしくお願いします。

Aベストアンサー

そうですね。。
エクセルの再インストールは、やってみましたか?

QBCPでCSV内の文字列をテーブルのDatetime型カラムに取り込む方法

BCPを使用してCSVをテーブルに取込みたいのですが、
CSV内に日付形式の文字列(YYYY/MM/DD)があり、
取込先のテーブルの型はDatetimeになっています。
フォーマットファイルのデータ型は「SYBCHAR」
で設定しているのですが、いざ取込もうとすると、
以下のようなエラーが出てうまく取込めません。

SQLState = 22008, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]日付の形式が正しくありません。

フォーマットファイルの設定が悪いのでしょうか?
なんとか回避する方法はないでしょうか。

Aベストアンサー

日付形式がYYYY-MM-DDなら取り込めます。
事前に/を-に置換しないといけませんが・・
<フォーマットファイル>
7.0
1
1 SQLCHAR 0 10 "\r\n" 1 dt

置換しない方法だと
日付フィールドがvarcharとしたテンポラリー用のテーブルを用意してそこにBCPでインポートする。
インポート完了後、本番テーブルに日付フィールドをコンバートしてインサートすればいけると思います。

Qエクセルのカメラの使用時のフリーズ

こんばんは。以前、エクセル2000の不具合という内容でノートPCの欄に質問させていただきましたものですが、明確な原因がわかりましたので再度質問させていただきます。
これは会社のノートパソコン(WIN2K)でエクセル使用時にツールバーにある「カメラ」機能を使うとにフリーズしたり、数字等を入力してエンターキーを押すと12~30秒くらい時間が固まってしまう状況に陥ってしまうため困っています。
カメラで指定範囲を選択して、別の場所に貼り付けるのであくまで画像データとして取り扱われる関係でデータ量が多くなってしまうとは考えられますが、100KBほどのデータでもフリーズ状況に陥ってしまいます。
ちなみに、フリーズ状態の時のCPU使用率はずっと100%となっています。メモリーは256MBで余裕のある環境にあります。このカメラで貼り付けたデータを削除するとスムースに動く様になります。またカメラで貼り付けたエクセルファイルを開いたまま、別のカメラを使用していないエクセルファイルを使用しても、影響が及んでしまいます。
しかし、同じカメラ機能を使ったエクセルファイルを別のパソコンで開くと多少時間はかかりますが、5秒もかからないくらいで動きます。何かカメラの設定などが悪いのでしょうか?エクセルの再インストールと*.xlbファイルの削除は実行しました。長々となってしまいましたが、よろしくお願いします。

こんばんは。以前、エクセル2000の不具合という内容でノートPCの欄に質問させていただきましたものですが、明確な原因がわかりましたので再度質問させていただきます。
これは会社のノートパソコン(WIN2K)でエクセル使用時にツールバーにある「カメラ」機能を使うとにフリーズしたり、数字等を入力してエンターキーを押すと12~30秒くらい時間が固まってしまう状況に陥ってしまうため困っています。
カメラで指定範囲を選択して、別の場所に貼り付けるのであくまで画像データとして取り扱われる関係でデータ量...続きを読む

Aベストアンサー

私は、[カメラ]機能を比較的多用するので、どんな回答が付くか静観していましたが…

「メモリーは256MB」が「余裕のある環境」かどうかは分かりませんが、仰っているような現象を経験したことがありません(昔に Win2000、Excel2000 を使っていたことがありましたが、メモリサイズがどうだったかは忘れました)。
ところで、「100KBほどのデータでもフリーズ状況に陥ってしまいます」とのことですが、この「100KBほどのデータ」というのはどうやって分かったのですか?

QAccess csvの取込 ファイルは任意でテーブルは指定したいのですが?

Access初心者です。2003を使用しています。

csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。
csv → データ用テーブル → 作業用テーブル(実際使うテーブル)

csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。)

「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。

どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか?
また、マクロでは無理なようでしたらVBAでしたら可能でしょうか?

よろしくお願いします。

Access初心者です。2003を使用しています。

csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。
csv → データ用テーブル → 作業用テーブル(実際使うテーブル)

csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で...続きを読む

Aベストアンサー

VBA の例です。
あまりきれいばコードではありませんが
ファイルの種類やテーブル名を書き換えれば動きますね。
http://www2.moug.net/bbs/acm_v/20070423000011.htm

こちらも参考に。
http://support.microsoft.com/kb/824272/ja

あとは、VBE のヘルプで 「FileDialog」で検索。

ボタンのクリックイベントに直に書かずに
ファイル名を返すような Function Procedure にしておけば
他にもファイル名を取得したい場合に
Function を呼び出すだけで済みますから
その方がお勧めですが。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報