1 | 异常 | 向mysql数据库写数据出现乱码 | |
原因 | 在连接驱动属性上添加 useUnicode=true characterEncoding = utf8 | ||
2 | 异常 | mysql数据库Packet for query is too large (6071393 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable | |
原因 | 原因:批量插入数据量过大,解决办法 修改 my.ini 加上 max_allowed_packet =67108864;67108864=64M 默认大小4194304 是4M | ||
3 | 异常 | oracle 到oracle 报ORA-12899 值太大 | |
原因 | 原因:源和目标字段类型不一样,源 GGXH VARCHAR2(256 CHAR),目标 GGXH VARCHAR2(256),这种情况下会出这种错误 | ||
4 | 异常 | 列名 '字段名称' 无效 | |
原因 | 原因:字段名称可能是关键字,或包含特出字符 (oracle 严格区分字段大小写 ) | ||
5 | 异常 | oracle使用 sysdba连接时,报连接不上时 | |
原因 | 可能是因为没有sysdba权限 grant sysdba to username; | ||
6 | 异常 | CDC任务 oracle为源,在无主键表时使用rowid方案,目标库是异构数据库,报主键冲突异常 | |
原因 | 原因:目标库字段内容不区分大小写,oracle的rowid是区分大小写的。 | ||
7 | 异常 | Oracle为目标时 报 ORA-01000:超出打开游标的最大数 | |
原因 | 原因:一个事务写的数据太多 | ||
8 | 异常 | CDC任务 源为oracle RAC集群 报 ORA-16331:容器'ORCLPDB'未打开 | |
原因 | 查看PDB状态: select con_id,dbid,guid,name,open_mode from v$pdbs;打开PDBORCL: alter pluggable database PDBORCL open 关闭PDB : alter pluggable database PDBORCL close; 通过触发器来实现PDB的自动open: CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable database pdborcl open'; END open_pdbs; | ||
9 | 异常 | ORA-00257: archiver error. Connect internal only, until freed | |
原因 | 归档日志满了 | ||
10 | 异常 | ORA-00001: 违反唯一约束条件 | |
原因 | 主键重复 可能的原因 1)重复交换 2)目标数据库有其他程序或触发器在写入数据 | ||
11 | 异常 | ORA-00060: 等待资源时检测到死锁 | |
原因 | 写端出现死锁,原因 两个会话同时互相阻塞对方的事务修改时,会产生死锁 | ||
12 | 异常 | 源是oracle,目标是sqlserver 没有异常数据,两边数据不一致,源多目标少 | |
原因 | 有可能是主键大小写造成的,Oracle默认区分大小写,Sqlserver默认不区分大小写, 解决把Sqlserver表设置为区分大小写 | ||
13 | 异常 | ORA-01861: 文字与格式字符串不匹配 | |
原因 | 向oracle数据库insert时带有大字段,需要把大字段放到insert最后. 会报错的SQL: INSERT INTO TEST111.TESTTABLE1(ID,NAME,PW,TDATE,TNUM,TCLOB,TBLOB,TTIMESTAMP,TFLOAT,T4000VARCHAR2) 正确的SQL: INSERT INTO TEST111.TESTTABLE1(ID,NAME,PW,TDATE,TNUM,TTIMESTAMP,TFLOAT,T4000VARCHAR2,TCLOB,TBLOB) | ||
14 | 异常 | ORA-00942: 表或视图不存在 | |
原因 | 表或视图不存在 | ||
15 | 异常 | SQLCODE=-206, SQLSTATE=42703, SQLERRMC=IDCARD_UPDATE_TIMES, DRIVER=4.16.53 | |
原因 | 原因:IDCARD_UPDATE_TIMES 这个字段名称,db2不认,需要改字段名 注:DB2数据库 | ||
16 | 异常 | SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null | |
原因 | 原因:有字段长度不够, 注:DB2数据库 | ||
17 | 异常 | SQLCODE=-803, SQLSTATE=23505 | |
原因 | 原因:主键冲突 注:DB2数据库 | ||
18 | 异常 | Column 'NAME' cannot be null | |
原因 | 原因:字段NAME值不能为空 注:mysql数据库 | ||
19 | 异常 | SQLCODE=-604,SQLSTATE=42611,SQLERRMC=DECIMAL(38,10) | |
原因 | 原因:在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效 注:DB2数据库 DB2中decimal最大精度是31位 oracle 精度最大值为38 | ||
20 | 异常 | SQLCODE=-286, SQLSTATE=42727, SQLERRMC=8192 | |
原因 | 原因:一般是因为pagesize设置的太小了,导致在创建表的时候空间不足 注:DB2数据库 解决方案:删除数据库,重建 create database DBNAME automatic storage yes using codeset UTF-8 territory US pagesize 32768; | ||
21 | 异常 | ORA-65090: 仅允许在容器数据库中执行该操作 | |
原因 | 原因:oracle 12C 是NO-CDB(普通数据库),一些sql会报错 select name,cdb from v$database; | ||
22 | 异常 | ORA-01555: 快照过旧: 回退段号 31 (名称为 "_SYSSMU31$") 过小 | |
原因 | 原因:SQL语句执行时间太长,或者UNDO表空间过小,或者事务量过大,或者过于频繁的提交,导致执行SQL过程中进行一致性读时,SQL执行后修改的 前镜像(即UNDO数据)在UNDO表空间中已经被覆盖,不能构造一致性读块(CR blocks) | ||
23 | 异常 | DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=259, COLNO=2 | |
原因 | 字段不能为空 注:DB2数据库 | ||
24 | 异常 | oracle zhs16jbk 到Postgresql GBK 报: character with byte sequence 0xee 0x97 0xa5 in encoding 'UTF 8' has no equivalent in encoding 'GBK' | |
原因 | 1)升级驱动 2)检查异常的数据,是否有乱码,或特出字符 注:目标PostgreSql | ||
25 | 异常 | SQL state [25P02]; error code [0]; ERROR: current transaction is aborted, commands ignored until end of transaction block; nested exception is org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
原因 | 异常原因:一个事务中有多条sql,其中一条报错,继续执行事务中其他sql,抛出此异常 注:目标PostgreSql | ||
26 | 异常 | java.sql.SQLException: ORA-01000: 超出打开游标的最大数 | |
原因 | 异常原因:conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭 | ||
27 | 异常 | mysql 时间字段存的是 0000-00-00 00:00:00, Timestamp.valueOf("0000-00-00 00:00:00")报错 | |
原因 | 解决:在连接上加 jdbc:mysql://localhost:3306/mydbname?zeroDateTimeBehavior=convertToNull | ||
28 | 异常 | informix Code-set conversion function failed due to illegal sequence or invalid value | |
原因 | 字符集的问题(数据库里有中文) select * from sysmaster:sysdbslocale 查数据库字符集 jdbc:informix-sqli://192.168.1.203:9088/test3:INFORMIXSERVER=ol_s_060718_161324;DB_LOCALE=en_us.819;CLIENT_LOCALE=en_us.57372;NEWCODESET=GBK,8859-1,819; | ||
29 | 异常 | oracle ORA-12505, TNS:listener does not currently know of SID given in connect descriptor | |
原因 | 原因 oracle sid错误,使用select INSTANCE_NAME from v$instance; 查出sid名称 | ||
30 | 异常 | oracle char 类型字段作为where 后边条件,更新不成功 | |
原因 | 原因 oracle jdbc驱动PrepareStatement对char字段类型的查找问题 解决办法 1 char改为varchar2类型 2 属性用TRIM函数处理: where TRIM(id)=? | ||
31 | 异常 | ORA-600(krvxdds: duplicated session not)错误 | |
原因 | 可能是在运行LOGMNR命令时,使用了多个窗口或者指定的字典有误,从而导致了这个错误出现。在告警日志中,出现了多次的LOGMNR的相关信息,但是这个错误只出现了一次,而这个错误在metalink都找不到,也说明这个错误很难触发。看来这可能是工具或者会话状态不正常引起的错误,只需要重新连接数据库,错误就不会再现,而且对于数据库而言基本没有影响。 | ||
32 | 异常 | informix 报 A SERIAL column (tserial) may not be updated | |
原因 | 原因:informix 中 SERIAL类型是自增类型,不能更新 | ||
33 | 异常 | win7上创建共享目录,用户访问报:Logon Failure: The User Has Not Been Granted The Requested Logon Type At This Computer | |
原因 | 解决办法:从D上进入“控制面板”--> "管理工具" --> “本地安全设置”,进入“本地策略” --> “用户权利指派” --> “拒绝从网络访问本计算机”,将"Guest"从列表中去掉。再从笔记本L地址栏输入"//台式机D的ip地址",可以访问了 | ||
34 | 异常 | CDC任务启动报:ORA-01292: 没有为当前 LogMiner 会话指定日志文件 | |
原因 | 以SYSDBA的身份运行以下两个脚本文件 ORACLE_HOME\rdbms\admin\dbmslm.sql ORACLE_HOME\rdbms\admin\dbmslmd.sql 第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件 第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典 | ||
35 | 异常 | Database not found or no system permission | |
原因 | informix ,表目标没有写对如 schema:tabname, 应该写为 imformix.tabname | ||
36 | 异常 | Java从MySQL读取大量数据时卡在SocketInputStream.socketRead0的问题 | |
原因 | 解决方法:说通过jdbc url的tcpRcvBuf属性设置可以解决这个问题 jdbc:mysql://127.0.0.1:3306/ooxx?characterEncoding=utf-8&tcpRcvBuf=1024000 | ||
37 | 异常 | postgresql 数据库 如何开启表日志级别 | |
原因 | ALTER TABLE test2 REPLICA IDENTITY FULL 开表的全日志 DEFAULT - 更新和删除将包含primary key列的现前值 NOTHING - 更新和删除将不包含任何先前值 FULL - 更新和删除将包含所有列的先前值 INDEX index name - 更新和删除事件将包含名为index name的索引定义中包含的列的先前值 | ||
38 | 异常 | ORA-00936:missing expression | |
原因 | 原因:Oracle sql语句错误会报这个错误,或是sql中包含 oracle的关键字 | ||
39 | 异常 | Oracle 数据库编码 US7ASCII 读取乱码问题 | |
原因 | 解决:读 new String(fieldValue.getBytes("ISO-8859-1"), "GBK") 重新注意 jdbc获取数据时 rs.getBytes()得到字节数组 写 new String(department.getBytes("gbk"),"iso-8859-1"); | ||
40 | 异常 | mysql报:Could not create connection to database server | |
原因 | 解决:url上添加 serverTimezone=UTC 或serverTimezone=Asia/Shanghai | ||
41 | 异常 | druid 连接池报 connection holder is null | |
原因 | 说明事务提交时使用的连接是空,被别的程序给关掉了 | ||
42 | 异常 | informix 报Could not insert new row into the table ISAM error: key value locked | |
原因 | 说明 :多线程写时报这错误 | ||
43 | 异常 | mysql8连接 | |
原因 | 驱动要使用 8以上,url上必须加 serverTimezone=UTC | ||
44 | 异常 | mysql数据库区分表名大小写问题 | |
原因 | 在/etc/my.cnf 添加lower_case_table_names=0 其中 0:区分大小写,1:不区分大小写 | ||
45 | 异常 | hive load表时报错:Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask | |
原因 | 经过分析最后原因,是用户名填写不对,权限不够,用户名改成hdfs成功。 | ||
46 | 异常 | Greenplum Cannot parallelize an UPDATE statement that updates the distribution columns | |
原因 | 原因:修改了分布键 由于Greenplum是一个分布式数据库,所以建表时需要指定分布键,将数据平均分布到各个Segment上。 Greenplum有两种数据分布策略: 1)Hash分布。选择一个或多个列作为分布键,计算 hash 值,并通过 hash 值路由到特定的Segment节点上。如果不指定分布键,默认将第一个字段作为分布键。 2)随机分布。数据随机分散在每一个节点中,可以保证数据平均分布,但是在执行 SQL 的过程中,关联等操作都需要将数据重分布,性能较差。 | ||
45 | 异常 | hive是ldap方式,hdfs是kerberos。load时报错了 Error 20388 Permission denied: Principal | |
原因 | 需要去管理平台 Guardian server里 配置赋予admin用户 操作hdfs 路径的权限 http://support.transwarp.cn/t/topic/3430 | ||
46 | 异常 | MySQLNonTransientConnectionException: Unknown command | |
原因 | 可能是Batch update 数据量大,导致报这个错误 https://lequ7.com/mycat-cai-keng-ji-lu.html | ||
47 | 异常 | ora-01722无效数字,源oracle12c number类型 目标oracle12c varchar2类型 | |
原因 | 解决:源出来数据转为字符类型 | ||
48 | 异常 | 达梦数据库cdc出来的很慢问题 | |
原因 | 解决: dm.ini 里参数 CKPT_INTERVAL 控制在线日志,到归档日志的时间,达梦CDC读取的是归档日志中的数据 | ||
49 | 异常 | ORA-00604:递归SQL 级别1出现错误 | |
原因 | 原因:磁盘空间不足引起的 | ||
50 | 异常 | MYSQL到Mysql交换时间有差 | |
原因 | 原因:目标Mysql 时区是 CST 使用旧驱动 url加参数serverTimezone=UTC,如果是新驱动需要改数据库设置, 北京时构 serverTimezone=Asia/Shanghai | ||
51 | 异常 | 批量写Hbase报错 regiontoobusyexception | |
原因 | 1 减少批量和并发数 ,交换的慢点 2 要想保存交换速度需要修改 hbase设置 https://www.cnblogs.com/jisaaotian/p/11753582.html | ||
52 | 异常 | Hbase 连接 报错 , java.net.UnknownHostException: IBNPF2ZLSDXFBTT | |
原因 | 1 hosts 配置问题 | ||
53 | 异常 | 目标mysql 使用LOAD DATA LOCAL INFILE 加载数据报 , The used command is not allowed with this MySQL version | |
原因 | 1 服务器端,local_infile默认开启;客户端,local_infile默认关闭,因此用的时候需要打开 show global variables like 'local_infile'; set global local_infile = 'ON'; 2 如果是本机不使用 LOAD | ||
54 | 异常 | ORA-01502: 索引 'CDCTEST2.SYNDID' 或这类索引的分区处于不可用状态 | |
原因 | 清空分区表数据,最后加上 update global ALTER TABLE CDCTEST2."UPRBAS" TRUNCATE PARTITION UBACAF_H update global indexes | ||
55 | 异常 | pg copy加载时报错:org.postgresql.util.PSQLException: ERROR: incorrect binary data format | |
原因 | 源和目标数据类型不一致时会报错:源oracle NUMBER(11)目标pgsql int4类型时 | ||
56 | 异常 | logminer 读到sql_redo显示Unsupported | |
原因 | 在oracle 12.2.0.1 版本之后 log miner 不支持超过30个字符的表名/列名 | ||
57 | 异常 | Oracle 报:No more data to read from socket | |
原因 | 通常是因为使用了连接池,当从连接池取得的connection失效或者超时的时候,使用这个连接来进行数据库操作就会抛出以上异常 | ||
58 | 异常 | Mysql 报:java.sql.SQLException: Zero date value prohibited或 Value ‘0000-00-00’ can not be represented as java.sql.Date | |
原因 | 解决:添加参数zeroDateTimeBehavior=convertToNull 例:jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull | ||
59 | 异常 | Oracle报:exitImplicitCacheToActive Closed statement | |
原因 | 通过换数据库驱动可以解决 | ||
60 | 异常 | oracle 唯一分析任务,分索引时 报权限不足 | |
原因 | 解决: grant analyze any to 表名 | ||
61 | 异常 | 向巨杉数据库写数据报 Failed to begin transaction, RR isolation is only supported when mvccon is true | |
原因 | 解决: mysql 隔离改成rc (set global tx_isolation='READ-COMMITTED') |
数据交换常见异常及原因1
原创
©著作权归作者所有:来自51CTO博客作者TurboDX的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:Vertica数据类型
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
数仓的两种轻量级数据交换格式:json与jsonb
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将数据从服务器发送到Web应用程序。
JSON 数据 JSONB GaussDB(DWS) -
U盘安装Tinycent 并启动时异常退出的原因
U盘安装Tinycent 并启动时异常退出的原因
硬盘分区 数据传输 解决方法 -
数据交换常见异常及原因2
数据交换异常和原因总结
数据交换异常 -
数据交换常见异常及原因3
常交换异常及原因
mysql 数据库 java -
数据交换方式
数据交换方式
数据交换 学习 -
数据交换技术其他
-
数据交换平台
企业里面开发的数据交换平台是否就是ETL呢?
数据交换平台 数据交换 -
python 数据交换
例1 输出 例2 输出
调用函数 3d 原始数据 数据 函数声明