2017-12-18 441 views
0

我正在使用oracle SQL,并希望通过链接将我的数据插入远程数据库。
通过数据库链接插入ORA-01722

insert into [email protected] (<82 different columnNames>) 
values (<82 different values>); 

虽然我检查到目前为止所有数据类型,字段和值匹配,但我得到这个错误:

Errorcode 1722, SQL-Status 42000: ORA-01722: Invalid Number 
ORA-02063: previous line of MDB.IGM 

我明白了很多,如果有人可以帮助我这个错误。

V_ADITO_ONLINE_BEITRITT是一个视图,如果这有帮助的话。

回答

0

Source Orafaq.com

的ORA-01722( “无效号码”),当试图将字符串转换为数字

在做INTO ... VALUES的INSERT(发生错误。 ..) 您尝试插入的数据项之一是无效的数字。

找到并更正它。 如果所有数字看起来都是有效的,那么您的列可能不按顺序排列,并且VALUES子句中的项目正被插入NUMBER列而不是预期的VARCHAR2列。当表格添加或删除列时会发生这种情况。

如果您正在执行INSERT或UPDATE,并使用提供值的子查询。显然,上述考虑也适用于此。是什么让这变得更加复杂是因为有问题的字符串在表中被隐藏为一行。解决方法是识别具有非数字字符串的行(或行),并更改数据(如果有错误)或向子查询添加某些内容以避免选择它。问题在于确定确切的行。 假设错误的数据是字母字符,可以使用以下查询:

SELECT ... WHERE UPPER(col) != LOWER(col) 

其中COL与不良数据的列。

0

尝试评论一半的字段名和值,并检查ORA-1722是否仍然存在。当发现含有错误的一半时,尝试对其一半进行评论等等。找到产生问题的确切字段&值,检查并修复它们。

相关问题