dblink访问 ORA-00997: 非法使用 LONG 数据类型
2014-05-02 11:38
302 查看
在通过dblink去访问一个表的long字段,会报ORA-00997.
例如我要通过dblink访问远端的ELISDATA.POS_TEST_CASE_AMASS表,其中CASE_PARAM_CHAR字段是LONG,那么要做一些转换,才能成功取过来。
通过以下这种方法就可以。
sys.dbms_metadata_util.long2varchar(5000,'ELISDATA.POS_TEST_CASE_AMASS','CASE_PARAM_CHAR',rowid) CASE_PARAM_CHAR
分别是size,属主表名,列名,rowid
to_lob()也可以,但是会ctas时用会转换了数据类型。
insert into pos_test_case_amass
select
MODULE_NAME,DEAL_CLASS,DEAL_INTERFACE,CASE_SNO,CASE_AMASS_DATE,CASE_PARAM_BASE,CASE_PARAM_MAP,sys.dbms_metadata_util.long2varchar(5000,'ELISDATA.POS_TEST_CASE_AMASS','CASE_PARAM_CHAR',rowid)
CASE_PARAM_CHAR,
PK_SERIAL#,CREATED_BY,CREATED_DATE,UPDATED_BY,UPDATED_DATE,RUN_FLAG,USER_NAME,INTERFACE_TYPE,IP,DEAL_TIME
from pos_test_case_amass@elis
where deal_class = 'com.palic.elis.pos.intf.biz.action.ECIFQueryAction.getIsVipByPhoneNumberForIVR'
and deal_interface = 'getIsVipByPhoneNumberForIVR';
例如我要通过dblink访问远端的ELISDATA.POS_TEST_CASE_AMASS表,其中CASE_PARAM_CHAR字段是LONG,那么要做一些转换,才能成功取过来。
通过以下这种方法就可以。
sys.dbms_metadata_util.long2varchar(5000,'ELISDATA.POS_TEST_CASE_AMASS','CASE_PARAM_CHAR',rowid) CASE_PARAM_CHAR
分别是size,属主表名,列名,rowid
to_lob()也可以,但是会ctas时用会转换了数据类型。
insert into pos_test_case_amass
select
MODULE_NAME,DEAL_CLASS,DEAL_INTERFACE,CASE_SNO,CASE_AMASS_DATE,CASE_PARAM_BASE,CASE_PARAM_MAP,sys.dbms_metadata_util.long2varchar(5000,'ELISDATA.POS_TEST_CASE_AMASS','CASE_PARAM_CHAR',rowid)
CASE_PARAM_CHAR,
PK_SERIAL#,CREATED_BY,CREATED_DATE,UPDATED_BY,UPDATED_DATE,RUN_FLAG,USER_NAME,INTERFACE_TYPE,IP,DEAL_TIME
from pos_test_case_amass@elis
where deal_class = 'com.palic.elis.pos.intf.biz.action.ECIFQueryAction.getIsVipByPhoneNumberForIVR'
and deal_interface = 'getIsVipByPhoneNumberForIVR';
相关文章推荐
- ora-00997:非法使用LONG数据类型
- ORA-00997: 非法使用 LONG 数据类型
- ORA-00997: 非法使用 LONG 数据类型
- 非法使用long类型数据
- Oracle 有long类型字段的表 使用insert into select 语句 ,出现:ORA-00997 错误
- objective-c 使用NSNumber 将int float long等数据类型加入到数组或字典中
- 关于oracle中LONG数据类型使用上的一些总结
- MyBatis Generator(MBG)Oracle使用说明 公共同义词 LONG数据类型
- NHibernate 处理 oracle 的long数据类型(ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值)
- VB数组排序模块,使用的是快速排序法,支持 Variant、Double、Long、String……等多种数据类型数组排序。
- DB2中,LONG VARCHAR 数据类型的使用会受到什么语句的限制呢?
- C/C++——求下面数据类型的最大值和最小值: char, short, int, long, float, double, long double和numeric_limits使用
- Java编程long数据类型的使用问题
- Java 里使用 long 类型的数据一定要在数值后面加上 “L”
- opencl:C++11下使用别名(x,y,z,hi,lo...)访问vector类型(cl_int2,cl_long16...)的元素
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- ORACLE使用dblink实现跨服务器访问数据
- AppFramework1.0数据库访问组件使用说明(四)基础数据类型
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”