- 締切済み
Oracle 10g XE CSVからテーブル作成
いつもお世話になっております。 無償版のOracleデータベースの10g XEでCSVファイルを読込み、テーブルを作成しているのですが、 すべての行を読込みできません。 エラーは発生しないです。CSVのファイルサイズは1,971KB、行数は16,436行、列数は28列。 すべての行を読込み、テーブルを作成する方法はないでしょうか? それとも、XEで制限があるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nora1962
- ベストアンサー率60% (431/717)
10gXEにはメモリ1GB、データベースファイル合計4GBの制限があります。 すでに、領域を使い切っていたりするとエラーになるでしょう。 後、データベースファイルに使用状況が断片化していたりすると、制限値にかかりやすくなります。 時間に余裕があるのなら、テーブルの索引の削除と書きとめ、DB全体のエクスポート、DBCAでDBの削除と再作成、インポートと索引の作成を行えば。領域に余裕は出来ると思います。 領域制限意外の問題なら、そもそもエラーメッセージが出ていると思うのでそれを提示してください。
- yamada_g
- ベストアンサー率68% (258/374)
Application Expressのユーティリティを使っているということでいいでしょうか? >すべての行を読込みできません。 具体的にどれくらい登録されるのでしょうか? ロード実行後に結果画面に遷移すると思いますが、そこに表示されている行数もデータ数より少ないということですよね。 当方の環境で試したところ、単一列ではありますが3,645KB、266,561行のデータの取込みはできました。 (試したサイズや行数にはなんの根拠もなく、適当に大きめのファイルを用意しただけです) alert.logにも何も出力されていませんか?
補足
いつも有難う御座います。 データはスタートメニューから「オラクルのホームページに移動」で起動させた画面の ユーティリティ→データのロード→テキストデータのロードから読み込みをしています。 読み込まれる行数は16,407行です。 28行は読み込みに失敗していました。 エラーはORA-01722 数値に無効なデータがあります。 問題のあった行を確認すると、フィールドの型が「NUMBER」なのに、「NULL」が入っていました。 データに文字列が入っていたために、読み込みが出来なかったみたいです。 お騒がせしました。
補足
回答有難う御座います。 原因はデータ型が数値の列にNULL文字が含まれていることにありました。 このファイルは無事に読み込むことが出来たのですが、 別のファイルで、日本語がデータに含まれるファイルの読み込みが一部しか出来ていないことがわかりました。 テスト用に1000行2列、1列目(数値型)、2列目(文字列型) CODE,NAME 10000,テスト用文字列1 10001,テスト用文字列2 ・ ・ ・ 10999,テスト用文字列1000 を読み込むと870行までのデータしか読み込まれません。 読み込み失敗のエラーも発生していません。 文字数を増やすと読み込む行数は少なくなります。 総文字数の制限のようなものがあるのでしょうか?