Teradata错误总结

1、除法总是得到0。看下是否是除数和被除数的类型。需转换为decimal
2、 6706
while inserting data from a table [with Insert Into.. Sel * from command] it encounters below error.. Any inputs ??

Error: INSERT Failed. 6706: The string contains an untranslatable character.

Table info

source column -- VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC,

target column -- VARCHAR(50) CHARACTER SET UNICODE NOT CASESPECIFIC,

字符集不同。

 

3、errcode:3697

Failure 3697 Attempt to translate Unicode/Graphic/KanjiSJIS data to another form has failed
        Position at 2
检查1中文符号2、chartset 是否一直 3、字段类型是否一直
检查是否有中文符号,是否目标表与源表字段不匹配unicode, Latin。是否有int字段被插入字符串
 
 
4、 7547  
Failure 7547 Target row updated by multiple source rows.
update a1 from aa a1 ,bb a2
set a1.col = XXX
where a1.c1=a2.c1
and a1.col=YYY
 
当a1关联出来的a2中的值不为一时将产生该错误。此时可以将a2相应字段去重复即可解决问题。
当然这是从技术手段处理。如果涉及到具体业务还需要联系具体业务解决问题。
 
 
5、2168
Failure 2618 Invalid calculation:  division BY zero
 
被除数有0哦。检查下脚本吧。
使用nullif(a,0)可以处理被除数为0 的情况,如果被除数为0则赋值空
 
6、 3806  
Failure 3806 Table/view/trigger name 'VT_T80_ROUTE_PASS_NODE_HIS_Z' is ambiguous
 
VT_T80_ROUTE_PASS_NODE_HIS_Z 是模棱两可的。而此表为虚拟表。在脚本中无相同表名。查看数据库,发现在bmnc_temp下有个相同名称的表。
 
 
7、3218
Failure 3812 The positional assignment list has too few values.
The target table (or column name list in the insert statement) has more columns than you specified values for.
插入的数据比源表总的列都要多哦
 
8、 5340  
 
*** Failure 5340 Database name, if specified, must be the login user name for a volatile table.
        Position at 701
 
哥哥们,明显的表明重复啦
 
9、 3504  
 
*** Failure 3504 Selected non-aggregate values must be part of the associated group.
 
 
10、 3653  
Failure 3653 All select-lists do not contain the same number of expressions.
UNION的时候 前后select字段数量不同
 
 
11、
SELECT Failed. 3610:  Internal error: Please do not resubmit the last request.  SubCode, CrashCode:   0,  3701 
原因有很多。如果sql确认没有问题,则是数据库bug导致,升级到新版本即可
 
12、8024:All virtual circuits are currently in use.
数据库爆了。大哥,赶紧找DBA把不需要的session释放掉吧。
 
 
13、 3737  
Failure 3737 Name requires more than 30 bytes in LATIN internal form.
亲,表名太长了吧弄短点 
 
 
14、139
 
dsql执行脚本时报错。用Automation 查看发现返回码为139.
sh.t97_tr_late_stat_his0200: 8323180 Memory fault(coredump)    
 
结果问题原因比较坑爹, 发现脚本的编码为mac.坑爹吧。转换为unix一切都ok

15、3813 
*** Failure 3813 The positional assignment list has too many values.
数据列数大于目标表列数
 
16、  3809
*** Failure 3809 Column 'Error_Device_Type_Cd' is ambiguous.
列是模糊的含糊的。
查看是否有字段分布于两个以上的表中但没有指定表名

猜你喜欢

转载自zengshaotao.iteye.com/blog/2374359