• 締切済み

ORACLE VARRAY型へCSVからインポート

皆さまの知恵をお借りしたくご質問させて頂きます。 ORACLEのテーブルにVARRAY型を含むフィールドに SQLLOADERを使用してCSVからインポートを行っているところですが どうもインポートができません。 (「データ・ファイルのデータ型が正しくありません」と表示) VARRAYのタイプは、下記の様に設定していると思います。 TEST_VARRAY as VARRAY(100) of Varchar2(100) (TYPEのソースより) テキストファイルは、カンマ区切りのダブルクォーテーションで囲っております。 さらにVARRY内の区切りは、「','」を使用していると考えられます。 テキストファイル例) "NO","FIELD1_VARRAY" "001","TEST_VARRAY('00000.....','11111.....)" ※一度、テキストファイルに出力した内容となります。  訳があり別ORACLEにインポートしなくてはいけない状態になりました  (dmpは、ORACLE11gから9iに移行する為、使用できないと思います) 今は、試行錯誤しながら下記のコマンドを実行しております。 (NO, FIELD1_VARRAY VARRAY TERMINATED BY ’,’ ( FIELD1_VARRAY COLUMN OBJECT ( VARRAY CHAR(200) ) ) ) まだまだORACLEを始めたばかりで 型とかも全然分かっておりませんが 皆さまの知恵をお借りしたくご質問させて頂きました。 お忙しいところ恐れ入りますが よろしくお願い申し上げます。

  • Oracle
  • 回答数1
  • ありがとう数0

みんなの回答

  • maiko0333
  • ベストアンサー率19% (840/4403)
回答No.1

データ内にダブルクォーテーションが混じっていると思われます。 エクスポートしたデータがインポートできない理由なんてそれしかありません。

hiko0626
質問者

補足

sqllodaerを使用して、制御ファイルを出して、その制御ファイルで取り込みを行なっても取り込めません...

関連するQ&A

  • オラクル DMPデータのインポートについて

    オラクルDB(R8.1.7)でエクスポートしたDMPデータを(10.2G)にインポートができるかを まず教えていただけませんでしょうか。 可能であれば 注意点等お聞かせ頂けると助かります。

  • oracle DMPファイルのインポートについて

    あるシステムのDB管理を行うにあたり、 Oracleを使用しているのですが、 Oracleのバージョンの違いにより、 DMPファイルのインポートが行えない事はございますでしょうか? 詳細は以下です。 ローカル環境のシステム Oracle 10g / 10.2.0.1.0 社内環境のシステム Oracle 11g / 11.2.0.1.0 社内環境システムよりバックアップを行い出力されたDMPファイルを ローカル環境へインポートを試みたところ、 以下のエラーが発生し、インポートができません。 ********************************************************** IMP-00058: Oracleエラー12154が発生しました。 ORA-12154: TNS: 指定された接続識別子を解決できませんでした IMP-00000: エラーが発生したためインポートを終了します。 ********************************************************** システムの構成はローカル環境、システム環境ともに同様です。 差異があるのはOracleのバージョンとなります。 基本的なご質問かもしれませんが ご教示頂けると大変助かります。 宜しくお願い申し上げます。

  • oracleでインポート

    oracleでmysqlのようにファイルからデータをインポートするにはどうしたらいいでしょうか?

  • PHP+MySQL でのcsvファイルインポート

    PHP + MySQL で、他システムから出力されてきたcsvファイルをテーブルへインポートしたいと考えています。 LOAD DATA INFILE で取り込もうとしていますが、対象のcsvファイルの特徴のためにうまく行かず苦戦しています。 取り込みたいファイルは、以下のようになっています。  ・各フィールドが "(ダブルクォート) で囲まれている  ・各フィールドは ,(カンマ) で区切られている  ・金額の項目には、桁区切りのカンマが入っている  例) "0001","あああああ",…(中略)…,"105,000","100,000","5,000",…     コード 項目名            税込み  税抜き 消費税  というような形です。    困っているのは、金額に使われている、桁区切りのカンマの処理についてです。  目的としては、データベースへ取り込むときには 105,000 は 105000 として取り込めればいいのですが、他システムから、桁区切りがなされた状態でcsvが作成されてきています。 LOAD DATA INFILE test.csv INTO TABLE data_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' IGNORE 1 LINES;  各項目のダブルクォートはENCLOSED BY で、項目を分けるカンマはTERMINATED BYで処理できていると思うのですが、金額の区切りに使われているカンマと項目の区切りのカンマを区別させられずに苦戦しています。  事前にcsvを加工するのも考えてはいるのですが、なるべくcsvを加工せずにそのまま取込したいと思います。  何か、簡単に回避できる方法等があればご教示願います。  宜しくお願いします。

    • ベストアンサー
    • PHP
  • SQL*LoaderでCSVから指定した列のみインポートしたい。

    SQL*Loaderを用いてOracleのテーブルにデータを格納 しようと思っています。 格納するデータはカンマ区切りのCSVファイルです。 入力CSVファイルは他テーブル用のファイルなので、 ローダーで落とし込むテーブルとは列数が異なります。 ですので、「CSVの5列目の値をテーブルのAA_NOというフィールドに 格納する。ということが可能なのでしょうか?」 CSVファイルのある行が a,b,c,d,e,f というデータの場合、テーブルには a,e,f とインポートしたいのです。 よろしくお願いします。

  • テーブルのエクスポート・インポート

    SQL Server2005 を使用しています。 テーブルのインポート・エクスポートに関して質問があります。 今まで、Oracleを主に使用していて、「EXP」「IMP」コマンドを使用して DMPファイルを介して別PCのデータベース間でテーブルのやり取りをしていました。(DB上のテーブルすべてや特定のテーブルのみなど) 同様のことをSQL Serverで実現したく下記を試したのですが上手くいきません。 1.Management Studio で「タスク」→「データのインポート(エクスポート)」   フラットファイル、Excel、MDBファイルなど試したのですが、   これらの中間ファイルを介した際にデータ型が変わってしまい   元の型のまま戻せない。   Oracleの「DMP」ファイルのようなものには落とせないのでしょうか? 2.「bcp」コマンド   これに関しては、複雑でよくわかりませんでした。   もし、このコマンドで実現可能であれば、やり方を教えて下さると   助かります。 以上、ながなが書きましたが宜しくお願い致します。

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

  • importについて

    こんばんは。 exportしたダンプファイルを頂いたので oracleにimportしようと思っています。 色々調べて以下のようにわかったのですが、 間違っていないか、パラメータで追加した方が よいものがあれば、ご指摘お願いします。 1) 既に同じ内容のテーブルが存在するが、それは気にせずimportを行う。既存のテーブルデータは新しくimportするもので更新されている??? 2) SQL*PLUSでコマンドを叩く。 コマンド内容は以下の通り。 imp system/manager fromuser=test1 touser=test2 file=db_data.dmp log=implog.log test1 ← DBA権限あり。 test2 ← このユーザーの表領域にデータを作成したい。

  • 【Access2010】CSVインポートについて2

    お世話になります。 現在、表題につきまして以下の質問をさせて頂いておりますが、もう一つ質問させて頂きます。 http://questionbox.jp.msn.com/qa8724865.html インポートしようとしているCSVファイルはカンマ区切りですが、その中のデータにカンマが含まれている場合がございます。 項目1  項目2  項目3 ・・・  1    あ,あ   いい  2    うう    ええ これをカンマ区切りでインポートすると、 項目1  項目2  項目3  フィールド1 ←自動的についたフィールド名  1    あ     あ    いい  2    うう    ええ となってしまいます。 これを回避する方法はございますでしょうか。 ※CSVファイルは変更したくないので、予めCSVから不要なカンマを削除しておく・・というのは無しでお願いします。 ご教授の程、宜しくお願い致します。

  • dmpファイルのインポート時にでるOracleエラー

    dmpファイルのインポート時に下記のようなOracleエラーがでて困っています。 IMP-00003: Oracleエラー2304が発生しました。 ORA-02304: オブジェクト識別子リテラルが無効です。 IMP-00017: 次の文は、Oracleエラー2304で失敗しました: エラー内容を調べましたが、具体的に何が原因で何をすれば対処できるのかわかりません。 Oracleのインストールで設定を間違えてしまったのか…とも思っているのですが、ご存知のかたがおられましたら教えてください。