0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Autonomous Database にデータをロードする(Database Actions)

Last updated at Posted at 2022-04-10

Oracle Autnomous Database の操作を行う上で多くの便利な機能が提供されています。本記事では Database Actions 機能の中からデータ・ロード機能を紹介します。Webブラウザから簡単にデータのロード処理を実行することができます。

Database Actions

Database Actionsの画面はAutonomous Database のメイン画面から、上部の「Database Actions」ボタンをクリックすることで表示できます。

Database Actions

表示された画面の「データ・ツール」グループから「データ・ロード」をクリックします。

データ・ロード

「データ・ロード」機能はCSVや他のデータベースからのデータのロードやリンクを作成することができます。本記事ではでは「データのロード」を試します。メインのページから「データ・ロード」を選択し、「次」ボタンをクリックします。

Data Load

アップロード

画面に対してファイルをアップロードします。複数のファイルをアップロードし、同時に処理することもできます。次の画面ではCSVファイルの「data1_csv1_error.csv」をアップロードしています。

Upload

ファイル横の鉛筆アイコンをクリックすると、ファイルの内容を設定できます。

options

設定項目 説明
オプション 表の作成、表への挿入、データの置換など
名前 データ格納先テーブル名
エンコーディング 文字コードの指定
テキスト囲み 文字列の囲み文字
フィールド・デリミタ 列の区切り文字
スキップする行 先頭行をスキップするレコード数
ソース列名 列名を移行元のヘッダから取得するか
無効なデータをNULLに変換 格納できないデータをNULLに置換するか
ソース列 移行元の列名
ターゲット列 移行先の列名

ファイルの情報を更新したら「閉じる」ボタンで画面を閉じ、元の画面から「矢印」ボタンをクリックします。
確認ダイアログが表示されるため、「実行」ボタンをクリックします。実行中は「ファイル」のアイコンをクリックすると実行状況を表示できます。下の画面では「INSERT INTO LOG ERRORS INTO REJECT LIMIT」文が実行されていることがわかります。

Executing

処理が完了したら「完了」ボタンがクリックできるようになります。ロード処理に失敗したレコードは、「ADP\$ERR\${ターゲット・テーブル名}」が自動的に作成されて格納されます。以下の例では、C1=500001 のレコードが DATA1 テーブルの主キー違反で格納できなかったことを示します。

SQL> describe ADP$ERR$DATA1
 名前                                    NULL?    
 ----------------------------------------- -------- ----------------------------
 ORA_ERR_NUMBER$                                    NUMBER
 ORA_ERR_MESG$                                      VARCHAR2(2000)
 ORA_ERR_ROWID$                                     ROWID
 ORA_ERR_OPTYP$                                     VARCHAR2(2)
 ORA_ERR_TAG$                                       VARCHAR2(2000)
 C1                                                 VARCHAR2(4000)
 C2                                                 VARCHAR2(32767)

SQL> SELECT COUNT(*) FROM ADP$ERR$DATA1;

  COUNT(*)
----------
         1

SQL> SELECT ORA_ERR_MESG$, C1, C2 FROM ADP$ERR$DATA1;

ORA_ERR_MESG$                                                C1         C2
------------------------------------------------------------ ---------- ----------
ORA-00001: unique constraint (ADMIN.SYS_C0032986) violated   500001     data1
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?