対応RDBデータソース

対応RDB管理システム

UnitBaseのRDBの取り込みでは、次のRDBに対応しています。

スキーマ名/テーブル名/ビュー名/カラム名の制限について

名前に以下の半角文字を含むスキーマ/テーブル/ビュー/カラムは、RDB内に存在する場合でもUnitBase上で表示されないため、利用することができません。

みなし型について

UnitBase では、取り込めるデータ型を「文字列」「数値」「日付時刻」「時刻」のいずれかの型とみなして扱います。
これを「みなし型」と呼びます。
なお、取り込めないデータ型はみなし型が「その他」となり、マッピングなどで利用できません。

各RDBのデータ型とみなし型

取り込めるデータ型とそのみなし型は、以下のとおりです。

記述のない型では、基本的にみなし型は「その他」として扱われます。

PostgreSQL

PostgreSQL のデータ型UnitBaseのみなし型
CHARACTER文字列
CHARACTER VARYING文字列
TEXT文字列
BIT文字列
BOOLEAN文字列
SMALLINT数値
INTEGER数値
BIGINT数値
NUMERIC数値
MONEY日付時刻
SMALLSERIAL数値
SERIAL数値
BIGSERIAL数値
REAL数値
BIGSERIAL数値
DOUBLE PRECISION数値
INTERVAL数値
DATE日付時刻型
TIMESTAMP日付時刻型(タイムゾーンあり)
TIMESTAMP WITH TIME ZONE日付時刻型(タイムゾーンあり)
TIME時刻型
TIME WITH TIME ZONE時刻型(タイムゾーンあり)

Oracle

Oracle のデータ型UnitBaseのみなし型
CHAR文字列
VARCHAR文字列
VARCHAR2文字列
NCHAR文字列
NVARCHAR2文字列
NUMBER数値
FLOAT数値
BINARY_FLOAT数値
BINARY_DOUBLE数値
DATE日付時刻
TIMESTAMP日付時刻
TIMESTAMP WITH TIME ZONE日付時刻(タイムゾーンあり)
TIMESTAMP WITH LOCAL TIME ZONE日付時刻(タイムゾーンあり)

SQL Server

SQL Server のデータ型UnitBaseのみなし型
CHAR文字列
VARCHAR文字列
NCHAR文字列
NVARCHAR文字列
UNIQUEIDENTIFIER文字列
BIT文字列
TINYINT数値
SMALLINT数値
INT数値
BIGINT数値
SMALLMONEY数値
MONEY数値
NUMERIC数値
DECIMAL数値
FLOAT数値
REAL数値
DATE日付時刻
SMALLDATETIME日付時刻
DATETIME日付時刻
DATETIME2日付時刻
DATETIMEOFFSET日付時刻(タイムゾーンあり)
TIME時刻

MySQL

SQL Server のデータ型UnitBaseのみなし型
CHAR文字列
VARCHAR文字列
TINYTEXT文字列
ENUM文字列
SET文字列
TINYINT数値型
SMALLINT数値
MEDIUMINT数値
INT数値
BIGINT数値
DECIMAL数値
DEC数値
NUMERIC数値
FLOAT数値
DOUBLE数値
REAL数値
BIT数値
BOOL数値
BOOLEAN数値
DATE日付時刻
DATETIME日付時刻
TIMESTAMP日付時刻
YEAR日付時刻
TIME時刻

各みなし型のデータは以下の形式で抽出されます。

RDBのみなし型抽出される形式
文字列RDBに格納された文字列
※改行もそのまま抽出されます。
※CHAR、NCHAR型では、文字数上限分まで半角スペースが末尾に追加されます。
数値半角の数字
例) 1234567890.12
例) -987654321.9876
※整数部分・小数部分の桁数は型定義に従います。
日付時刻YYYY/MM/DD<半角スペース>hh:mm:ss
例) 2020/10/06 09:02:05
例) 2020/10/06 13:42:55
※時刻情報のない型では時刻部分は 00:00:00 として扱われます。
時刻hh:mm:ss
例) 09:02:05
例) 13:42:55

※NULL値はどのみなし型でも空文字として扱われます。

※クレンジングは上記データに対して適用されます。

UnitBaseのフィールドの種類ごとのデータの書式

RDBから抽出されたデータをUnitBaseに取り込む際、UnitBaseのフィールドの種類によって取り込むことができるデータの書式が異なります。
データを正しく取り込むためには、クレンジングでのデータ加工が必要になる場合があります。

UnitBaseのフィールドの種類 取り込むことができるデータの書式
文字列(1行) 1行の文字列
文字列(複数行) 複数行の文字列
数値 半角の数字

※半角のマイナス( - )や、半角の小数点( . )を使って記述された負数や小数も取り込むことができます。

※整数部分が3桁ごとにカンマ( , )で区切られている数も取り込むことができます。

※以下の場合、取り込みデータに記載した値を数値へ変換する処理で誤差が発生し、差分更新が失敗する可能性があります。
・小数を含む値を設定できる数値フィールドを、更新キーフィールドに指定する

メール アットマーク( @ )で区切られた、メールアドレスとして適切な文字列

※複数のメールアドレスを入力できるように設定した場合は、メールアドレスごとにカンマ(,)で区切ります。

URL URLとラベルの間に改行を挟んだ文字列
[例]http://justsystems.com<改行>JUSTSYSTEM
ドロップダウン 選択肢項目の文字列
チェックボックス true または false

※値が設定されていない場合は、false となります。

選択リスト 選択肢の項目ごとに改行を挟んだ文字列
[例]東京都<改行>埼玉県<改行>神奈川県
日付時刻 半角文字で、次の形式で記述された日付や時刻
日付:YYYY/MM/DD または YY/MM/DD
時刻:hh:mm:ss
日付時刻:YYYY/MM/DD<半角スペース>hh:mm:ss

※日付を表す「MM」「DD」や、時刻を表す「hh」「mm」「ss」は、1桁で表現することもできます。

※日付の「YY/MM/DD」形式の場合、「YY」は次のように解釈して取り込まれます。
70~99 : 1970~1999
00~69 : 2000~2069

※時刻・日付時刻の「:ss」は省略できます。

時間量 半角文字で、次の形式で記述された日時分秒
日時分秒:d-hh:mm:ss
日時分:d-hh:mm
日時:d-hh
時分秒:hh:mm:ss
時分:hh:mm
日:d
時:h
分:m
秒:s

※「d」「hh」「mm」「ss」は桁数は自由です。また、先頭に半角のマイナス( - )を付けることで、負数を表現できます。

意味
1-2:3:4 1日間 2時間 3分 4秒
10-0-660:720 10日間 11時間 12分 0秒
-10-02:03:04 -10日間 2時間 3分 4秒
ユーザー ログインIDの文字列

※ユーザー名の文字列は指定できません。

制限事項

RDB 制限事項
MySQL みなし型が日付時刻型となるデータ型の 0000-01-01、0000-01-01 HH:mm:ss における 0000-01-01 部は 0001-01-01 となります。
MySQL UnitBaseのタイムゾーンと、接続パラメーターまたは接続URLのタイムゾーンを同じタイムゾーンにしていない場合は差分更新基準日時が期待値と異なります。
PostgreSQL INTERVAL型は秒単位の整数として扱われます。
例) 00:09:21 ⇒ 561
PostgreSQL TIME、TIME WITH TIME ZONE、TIMETZ における 24:00:00 の値は 00:00:00 として取り込まれますが、取得順や絞り込みの処理は実際の値 24:00:00 として扱われるため、意図しない結果となる場合があります。
例1)00:00:01、12:00:00、13:00:00、24:00:00 を取得順昇順で取り込む場合、
結果は順に 00:00:01、12:00:00、13:00:00、00:00:00 となります。
例2)00:00:01、12:00:00、13:00:00、24:00:00 を 11:00:00 より後で絞り込んで取り込む場合、
結果は順に 12:00:00、13:00:00、00:00:00 となります。