2017-12-18 443 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是否仍然存在。當發現含有錯誤的一半時,嘗試對其一半進行評論等等。找到產生問題的確切字段&值,檢查並修復它們。

相關問題