Simple Data Integrator (SDI) 実践入門：ファイル（CSV）からRDBへのデータインポート

CSVファイルからRDBへのデータインポートの設定方法を説明します。
※CSVファイルを例にして説明します、Excel,JSONファイルの設定方法は類似なので、割愛させてください。

# 構成図
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/1e6ecf37-8846-462b-0f4b-98db453fb95e.png" width="500">

### Source(CSV)
ファイル名：EMP.csv 
エンコーディング:UTF-8
```
EMPID,EMPNAME,DEPT_CODE,BIRTHDAY
1,日本 太郎,0001,11/15/1998 00:00:00
2,世界 花子,0002,05/24/2001 00:00:00
```

### Target(Oracle)
スキーマ名：HR
テーブル名：EMP
|PK|カラム名|型|
|-|-|-|
|![key_icon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/292a6047-9fbb-db98-6f7c-52db406207d9.png)|EMPID|NUMBER|
||EMPNAME|VARCHAR2|
||DEPT_CODE|VARCHAR2|
||BIRTHDAY|DATE|
</td>


# 設定
### コネクション設定
Source DB、Target　ファイルへの接続を設定。
設定方法は下記の記事を参照：
RDBコネクション
https://qiita.com/RiCCT/items/787a41bb54277a3b26c2
ファイルコネクション
https://qiita.com/RiCCT/items/73e1a7f2d59736252d68

|ソースコネクション名|ターゲットコネクション名|
|-|-|
|CSV_IMPORT<br /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/5d1e7656-e5d0-f53b-dd54-7e2e323cc239.png" width="300">|HRMS_ORACLE<br /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/cef61245-bd0d-a64c-0953-f050df793b57.png" width="300">|

### マッピング設定
#### 1 .「新規マッピング」ボタンをクリックしてマッピング設定画面を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/a55e5ced-619b-975f-37db-4a50437b4993.png)

#### 2 . ソースコネクション、ファイル名を設定,ターゲットコネクション、テーブル選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/997d9b4c-1ea2-7cc8-5e90-735725caf931.png)

|No|項目|説明|
|----|----|----|
|1|マッピング名 |マッピング名を入力、任意の名前設定できます。システムは名前の重複チェックしていないですが、管理上、ユニークの名前の設定をお勧めします。 |
|2|ソースコネクション| CSV_IMPORTを選択|
|3|CSVファイル名|`EMP.csv`を選択|
|4|CSV属性|エンコーディング:UTF-8　<br />`ヘッダ行あり`をチェック <br />デリミタ、囲み文字などは自動判別なので、指定する必要がありません。 <br / > 参考資料：https://ja.sdi.ricct.com/userguide/mappingsource/#csv |
|5|ターゲットコネクション| HRMS_ORACLETを選択|
|6|テーブル|`HR.EMP` を選択|
|7|カラム一覧取得 |`カラム一覧取得`ボタンをクリックしてテーブル定義明細取得|



3 . 出力カラムを設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/f6feeeec-55f9-3408-86f8-946b77a6f9f2.png)

|No|項目|説明|
|----|----|----|
|9|マッピング対象|出力対象のカラムをチェックします。|
|10|更新方式	|Mergeを選択。<br />更新方式についての詳細説明は下記の資料を参照：<br />https://ja.sdi.ricct.com/userguide/mappingtarget/|



#### 4 . テスト実行
`マッピング実行` ボタンをクリックして、動作確認します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/402e62a6-e3ac-d3ab-d234-2a6dda6b61af.png" width="400">


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/cfd58619-8c2a-72cf-2ccc-6a37ce3dbc05.png)

|No|項目|説明|
|----|----|----|
|11|ステータス |実行成功の場合、マッピングを保存して、設定完了。<br />エラーが発生した場合、詳細画面でエラー内容を確認した上対応します。 |
|12|詳細アイコン| 詳細アイコンをクリックしてLOGの詳細参照できます。|


#### 5 . 保存
`保存` ボタンをクリックして、マッピング設定を保存します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/d2b2b877-ed05-7a27-608f-728ba61e275d.png" width="400">

:::note info
定期的にファイルからデータインポートしたい場合、スケジューラーを作成してマッピングを登録します。
スケジューラー設定につきまして、下記のページを参照してください。
https://ja.sdi.ricct.com/userguide/schedule/
:::


以上です。

[Simple Data Integrator (SDI) 実践入門](https://qiita.com/RiCCT/items/3dc109ff82546459a8b0 "Simple Data Integrator (SDI) 実践入門")

# 参考資料
[SDI日本語公式サイト](https://ja.sdi.ricct.com/ "SDI日本語公式サイト")
[SDI English Official Website](https://sdi.ricct.com/ "SDI English Official Website")
[SDIマッピング設定](https://ja.sdi.ricct.com/userguide/mapping/ "SDIマッピング設定")