问题描述
我试图使用复制命令将选择的记录从一个数据库移动到另一个数据库,但我在下面得到了这个错误。有什么方法可以使用复制命令来解决这个问题吗?
谢谢你,
A. J.
SQL>从土星/******@测试插入SFRAREG ,使用Select * from SFRAREG其中SFRAREG_pim=***** ;
数组获取/绑定大小为15。(数组大小为15 )
完成后将承诺。(复制提交为0 )
最大长尺寸为80。(长是80 )
CPY-0012 :无法复制数据类型
从v$version中选择*
2 ;
横幅CON_ID
---------------
Oracle Database 12c Enterprise Edition 12.1.0.2.0版- 64位生产版0
PL/SQL 12.1.0.2.0版-生产0
核心12.1.0.2.0生产0
TNS Linux版:版本12.1.0.2.0 -生产0
NLSRTL 12.1.0.2.0版-生产0
SQL>
sfrareg
名称为空?类型
--------------------------------------------------------------------------------------------
SFRAREG_PIDM非空数字(8)
SFRAREG_TER_CODE非空VARCHAR2 ( 6字符)
SFRAREG_CRN非空VARCHAR2 ( 5字符)
SFRAREG_EXTSION_NUMBER非空数(3)
SFRAREG_RSTS_CODE非空VARCHAR2 ( 2个字符)
SFRAREG_开始日期非NULL日期
SFRAREG_完成日期非NULL日期
SFRAREG_FEE_WAE_IND非空VARCHAR2 ( 1个字符)
SFRAREG_SAPR_SAPR_OROID_IND NOT NULL VARCHAR2 ( 1个字符)
SFRAREG_ACTE_D日期不为空日期
SFRAREG_USER_ID非空VARCHAR2(30字符)
SFRAREG_NUMBER_OF_单位编号( 7、2 )
SFRAREG_DUNT_CODE VARCHAR2 ( 4个字符)
SFRAREG_DETL_CODE VARCHAR2 ( 4个字符)
SFRAREG_AMOUNT编号( 7、2 )
SFRAREG_IN结构_ PIDM编号(8)
SFRAREG_TRAN_NUMBER编号(8)
SFRAREG_生效日期
SFRAREG_COMS CLOB
SFRAREG_DATA_ORIIN VARCHAR2(30CAL)
SFRAREG_RSTS_日期非NULL日期
SFRAREG_SURROGATE_ID编号(19)
SFRAREG_版本编号(19)
SFRAREG_VPDI_CODE VARCHAR2 ( 6字符)
SQL>
谢谢你,
A. J.
SQL>从土星/******@测试插入SFRAREG ,使用Select * from SFRAREG其中SFRAREG_pim=***** ;
数组获取/绑定大小为15。(数组大小为15 )
完成后将承诺。(复制提交为0 )
最大长尺寸为80。(长是80 )
CPY-0012 :无法复制数据类型
从v$version中选择*
2 ;
横幅CON_ID
---------------
Oracle Database 12c Enterprise Edition 12.1.0.2.0版- 64位生产版0
PL/SQL 12.1.0.2.0版-生产0
核心12.1.0.2.0生产0
TNS Linux版:版本12.1.0.2.0 -生产0
NLSRTL 12.1.0.2.0版-生产0
SQL>
sfrareg
名称为空?类型
--------------------------------------------------------------------------------------------
SFRAREG_PIDM非空数字(8)
SFRAREG_TER_CODE非空VARCHAR2 ( 6字符)
SFRAREG_CRN非空VARCHAR2 ( 5字符)
SFRAREG_EXTSION_NUMBER非空数(3)
SFRAREG_RSTS_CODE非空VARCHAR2 ( 2个字符)
SFRAREG_开始日期非NULL日期
SFRAREG_完成日期非NULL日期
SFRAREG_FEE_WAE_IND非空VARCHAR2 ( 1个字符)
SFRAREG_SAPR_SAPR_OROID_IND NOT NULL VARCHAR2 ( 1个字符)
SFRAREG_ACTE_D日期不为空日期
SFRAREG_USER_ID非空VARCHAR2(30字符)
SFRAREG_NUMBER_OF_单位编号( 7、2 )
SFRAREG_DUNT_CODE VARCHAR2 ( 4个字符)
SFRAREG_DETL_CODE VARCHAR2 ( 4个字符)
SFRAREG_AMOUNT编号( 7、2 )
SFRAREG_IN结构_ PIDM编号(8)
SFRAREG_TRAN_NUMBER编号(8)
SFRAREG_生效日期
SFRAREG_COMS CLOB
SFRAREG_DATA_ORIIN VARCHAR2(30CAL)
SFRAREG_RSTS_日期非NULL日期
SFRAREG_SURROGATE_ID编号(19)
SFRAREG_版本编号(19)
SFRAREG_VPDI_CODE VARCHAR2 ( 6字符)
SQL>
专家解答
复制仅支持以下数据类型:
查尔
日期
长的
编号
VAR查尔2
http://docs.oracle.com/database/121/SQPUG/apb.htm#SQPUG611
所以你不能用它来复制球。如果Clob包含的字符串少于4,000个字符,则可以将其转换为varchar2 :
如果它们保存的字符串超过这个长度,那么您可以修剪扩展字符并将其转换为varchar2。这将丢失数据!
假设你不想要这个,那么你需要另找一个方法。
查尔
日期
长的
编号
VAR查尔2
http://docs.oracle.com/database/121/SQPUG/apb.htm#SQPUG611
所以你不能用它来复制球。如果Clob包含的字符串少于4,000个字符,则可以将其转换为varchar2 :
SQL> create table t (c clob);
Table created.
SQL> insert into t values ('x');
1 row created.
SQL> commit;
Commit complete.
SQL> copy from chris@db create tcopy using select cast(c as varchar2(10)) c from t;
Array fetch/bind size is 100. (arraysize is 100)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)
Table TCOPY created.
1 rows selected from chris@db
1 rows inserted into TCOPY.
1 rows committed into TCOPY at DEFAULT HOST connection.
SQL> desc tcopy
Name Null? Type
---- -------- ------------------------------------
C VAR查尔2(10)如果它们保存的字符串超过这个长度,那么您可以修剪扩展字符并将其转换为varchar2。这将丢失数据!
假设你不想要这个,那么你需要另找一个方法。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




