请教一个oracle_fdw的问题:
在oracle中有表
SQL> desc pgtest1;
Name Null? Type
ID NUMBER(38)
DTIME DATE
ELEC_ADDR VARCHAR2(256 CHAR)
SQL> select * from pgtest1;
ID DTIME ELEC_ADDR
1 2016-05-20 10:12:12 ss
2 2012-02-02 12:12:12 ss
通过fdw到postgresql这边查询结果是
postgres=# d pgtest1;
Foreign table "public.pgtest1"
Column | Type | Modifiers | FDW Options |
---|---|---|---|
id | integer | ||
dtime | timestamp without time zone | ||
elec_addr | character varying(256) |
Server: oracle_svr
FDW Options: (schema 'TEST', "table" 'PGTEST1')
postgres=# select * from pgtest1;
ERROR: error executing query: OCIStmtExecute failed to execute remote query
DETAIL: ORA-01406: 提取的列值被截断
把dtime字段写成date类型也是同样的错误
postgres=# d pgtest5;
Foreign table "public.pgtest5"
Column | Type | Modifiers | FDW Options |
---|---|---|---|
id | integer | ||
dtime | date | ||
elec_addr | character varying(256) |
Server: oracle_svr
FDW Options: (schema 'TEST', "table" 'PGTEST1')
postgres=# select * from pgtest5;
ERROR: error executing query: OCIStmtExecute failed to execute remote query
DETAIL: ORA-01406: 提取的列值被截断
在oracle中把数据TRUNCATE掉之后
SQL> TRUNCATE TABLE PGTEST1;
Table truncated.
SQL> select * from pgtest1;
no rows selected
在postgresql中查询
postgres=# select * from pgtest1;
(0 rows)
说明oracle_fdw是通信是OK的,
请问这是什么原因?oracle的date类型在postgresql外部表中我应该写成什么类型?
求各位大牛帮忙解答 ,
oracle版本10.2.0.4 postgresql版本 9.5.1 fdw版本1.3.0
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。