1. 程式人生 > >SQL0668N 原因碼為 1 所以不允許操作 SQLSTATE 57016 ORACLE一次失敗的匯入到DB2

SQL0668N 原因碼為 1 所以不允許操作 SQLSTATE 57016 ORACLE一次失敗的匯入到DB2

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

SQL0668N 原因碼為 "1",所以不允許操作 SQLSTATE=57016 ORACLE一次失敗的匯入到DB2

SQL0668N 原因碼為 "1" SQLSTATE=57016 ORACLE匯入到DB2 日月明王的BLOG 
http://sunmoonking.spaces.live.com
           利用MTK工具沒有成功匯入資料,於是用(ORACLE MTK工具匯入到DB2 http://sunmoonking.spaces.live.com/blog/cns!E3BD9CBED01777CA!751.entry )最後所寫的方法手工批量匯入。一切順利。做完後抽樣檢查,發現有些表出現如下問題。 db2 => select * from TABLE_NAME
USER_FUNCTION_ID     USER_ID              DEALER_ID FUNCTION_ID          CREATE_ BY           
CREATE_DATE                UPDATE_BY            UPDATE_DATE
-------------------- -------------------- --------- -------------------- ------- SQL0668N  由於表 "ADMINISTRATOR. TABLE_NAME " 上的原因碼為 "1",所以不允許操作。  SQLSTATE=57016             查了下問題原因是原因是裝入時有資料違反了檢查約束,造成表處於檢查掛起狀態。網上說可以用set integrity for table_name check immediate unchecked解除表的檢查掛起狀態, 但是執行完後還是無法訪問此表 db2 => set integrity for table_name check immediate unchecked DB20000I  SQL命令成功完成。 db2 => select * from TABLE_NAME USER_FUNCTION_ID     USER_ID              DEALER_ID FUNCTION_ID          CREATE_ BY            CREATE_DATE                UPDATE_BY            UPDATE_DATE -------------------- -------------------- --------- -------------------- ------- SQL0668N  由於表 "ADMINISTRATOR. TABLE_NAME " 上的原因碼為 "1",所以不允許操作。  SQLSTATE=57016             問題依舊。又試圖用再次LOAD的方法使其狀態正常,通過分別發出帶有 RESTART TERMINATER 選項的 LOAD 來重新啟動或終止先前失敗的對此表的 LOAD 操作。但是問題依舊。 db2 => LOAD  FROM C:/MTK/projects/Unknown7/DataOutScripts/FILENAME_TABLE_NAME.out of DEL restart  INTO TABLE_NAME SQL27902N  LOAD RESTART/TERMINATE 在未處於 LOAD PENDING 狀態的表上不允許。             再試 C:/Documents and Settings/Administrator>db2 set integrity for TABLE_NAME immediate checked             不成功。             懷疑現在的問題不僅僅是表的問題,於是察看TABLESPACE db2 =>list tablespaces show detail 表空間標識                        = 2 名稱                       = USERSPACE1 型別                                       = 資料庫管理空間 內容                                = 所有持久資料。大型表空間。 狀態                   = 0x0020   詳細解釋:     備份暫掛 總計頁數                            = 40960 可用頁數                            = 40928 已用頁數                            = 40448 可用頁數                            = 480 高水位標記(頁)                    = 40448 頁大小(以位元組計)                  = 16384 擴充套件資料塊大小(頁)                = 32 預取大小(頁)                      = 32 容器數                                  = 1 最小恢復時間                            = 2007-02-13-02.29.51.000000             想通過以下命令使其正常 db2 => alter tablespace  USERSPACE1 switch online DB20000I  SQL命令成功完成。             狀態一樣             於是通過BACKUP來除去備份暫掛狀態, 手工備份後恢復正常. 0x0000 db2 backup db DB_NAME tablespace (userspace1)             再解除表的檢查掛起狀態 db2 => set integrity for tt_user_function immediate checked DB20000I  SQL命令成功完成。 db2 => select count(*) from tt_user_function; SQL0104N  "rom tt_user_function" 後面找到異常標記 ";"。預期標記可能包括:"END-OF-STATEMENT"  SQLSTATE=42601 db2 => select count(*) from tt_user_function   1 -----------        1534             訪問正常.              

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述