天天看點

ORA-01747: user.table.column, table.column 或列說明無效

Oracle.DataAccess.Client.OracleException ORA-01747: user.table.column, table.column 或列說明無效

ORA-01747: user.table.column, table.column 或列說明無效

原因1:

查了一下是由于Oracle 資料庫列名起的不好引起的,名字用到了資料庫的關鍵字。

如果列很多,又不好确定是哪個列名使用了關鍵字,以下建議可供參考:

我用以下方法定位

 select *

from v$reserved_words 

where keyword

in(

select COLUMN_NAME

from all_tab_columns

where table_name = '表名大寫' and owner='使用者名大寫'

);

原因2:

書寫的SQL的Set語句中,異常的字元混入到列名稱的前後,列名稱寫錯了。

将控制台列印的sql語句在plsql中執行發現:sql語句在xml中拼接錯誤 。

ORA-01747: user.table.column, table.column 或列說明無效

本人的錯誤是屬于第一、二種類同時存在的。而且第二種錯誤找起來更讓人茫然,後來在文章2的參考下,終于找到了。

update HP_STATUS set BSM_ASSOCIATE = :BSM_ASSOCIATE, STATUS = :STATUS,OPERATE_USER_ID = :OPERATE_USER_ID, FTP_FOLDER_LOCATION = :FTP_FOLDER_LOCATION, DATA_STATUS = :DATA_STATUS, UDT = :UDT, DETAILS = :DETAILS, where FID = :FID

參考文章

沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的架構所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如别人所關心你的。理想的騰飛與實作,沒有别人的支援與幫助,是萬萬不能的。

    本文轉自wenglabs部落格園部落格,原文連結:http://www.cnblogs.com/arxive/p/6255101.html,如需轉載請自行聯系原作者