dblink访问 ORA-00997: 非法使用 LONG 数据类型

在通过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 [email protected]

where deal_class = ‘com.palic.elis.pos.intf.biz.action.ECIFQueryAction.getIsVipByPhoneNumberForIVR‘

and deal_interface = ‘getIsVipByPhoneNumberForIVR‘;

dblink访问 ORA-00997: 非法使用 LONG 数据类型

时间: 2024-12-26 15:14:05

dblink访问 ORA-00997: 非法使用 LONG 数据类型的相关文章

64位平台32位MSSQL通过DBLink访问Oracle,Error 7399

系统平台: 64位 MSSQL 2005 32 位 当安装32位的Oracle Client后,在SQL里创建DBLink时报错: The OLE DB provider "MSDAORA" for linked server "SZMESP" reported an error. The provider did not give any information about the error.Cannot initialize the data source o

Oracle通过DBLink访问CLOB类型字段报错ORA-22992的解决方案

DBLink 中,对于普通字段按常规方法查询即可,但是对于 CLOB 字段的处理相对比较麻烦, CLOB 为大字段,通常 VARCHAR 最大只支持到 4000 字符.在按常规方法查询时会有以下结果: SELECT MODE_CODE,TRANSFORM_CHANGE_CONTENT from [email protected] DBLINK,其中 “TRANSFORM_CHANGE_CONTENT” 为 CLOB 字段,会报 “ORA-22992: cannot use LOB locator

apache2.4 只允许合法域名访问网站 禁止使用ip、非法域名访问

1.ip访问禁用ip访问 只能对应端口有效<VirtualHost *:80> ServerName xx.xx.xx.xx ServerAlias * <Location /> Order Allow,Deny Deny from all </Location></VirtualHost><VirtualHost *:8511> ServerName xx.xx.xx.xx ServerAlias * <Location /> Or

Oracle 错误总结及问题解决 ORA

参考地址 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进程私用内存:无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册

Oracle 错误代码详解及解决方式--ORA

ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进程私用内存:无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册ORA-0

ora错误解释

ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进程私用内存:无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册ORA-0

Sqlserver通过链接服务器访问Oracle的解决办法

转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac

oracle创建dblink

当用户要跨本地数据库访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据.下面讲介绍如何在本地数据库中创建dblink. 创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限.想知道有关dblink的权限,以sys用户登录到本地数据库: select * from user_sys_privs t where t.privilege like upper('

Oracle建立DB-LINK

Oracle建立DB-LINK 测试条件 两台服务器 远程:IP:192.168.0.18,SID: usertest,用户名:usertest,密码:123456 本地:IP: 192.168.8.90,SID: wjn,用户名:userwjn,密码:mosquito0 参数设置 1.     查看数据库global_name 执行select * from global_name; 远程数据库18返回: USERTEST.US.ORACLE.COM 本地数据库90返回: DB_WJN.REG