タグ:odbc ( 1 ) タグの人気記事

Oracle Database Gateway for ODBC その2

Oracle Database Gateway for ODBC を少しいじってみた。
postgresqlのエントリを追加。

データ型のマッピング

SQLSERVER,Postgresqlとも
create table kkk
(
id int,
name varchar(20),
salary decimal(10,2)
)
で作成。これをORACLE側から見ると
DESC "dbo"."kkk"@mssql

id NUMBER(10)
name VARCHAR2(20)
salary NUMBER(10,2)

DESC "kkk"@postgresql

id NUMBER(10)
name VARCHAR(255)
salary NUMBER(10,2)

postgresqlの文字列型の表示がちょっとおかしい。これはpostgresqlのvarchar型がUTF-8対応
になっており文字数を表しているのにoracleはバイト数基準であるかららしい。
ちなみにpostgresqlで255桁指定まではORACLE側では255表示、それ以上はデータ型がLONG型表示になる。LONG型はoracleでは本来1テーブルに1フィールドしか指定できないが、この場合はoracle側で処理に制限を受けることはなさそう。あくまで見た目ということらしい。

データ操作(INSERT、DELETE、UPDATE)にはoracleの既定の動作と同様にトランザクションが有効になっている。

DELETE FROM "kkk"@postgresql;

と実行してもROLLBACKすればもとに復帰できる。
ただし、SELECT ... FOR UPDATE構文には対応していない。
また、INSERT INTO "kkk"@postgresql SELECT ... でORACLE側のテーブルのデータを一気に流し込むことはできないようだ。
逆にORACLE側に持ってくることはできる。

レスポンスもそんなに悪くはない。思ったよりも使える機能かもしれない。
[PR]
by nora1962 | 2009-09-17 01:00 | PC