db2sql5005c
1. Toad for DB2 Beta 6.2資料庫連接時提示運行環境錯誤的問題
windows缺少DB2客戶端驅動程序,根據你的toad 32位或64位情況去下載對應的客戶端驅動
2. DB2 SQL5005C 系統錯誤
SQL5005C 系統錯誤。
說明:
訪問配置文件時遇到系統錯誤,很可辯槐能是 I/含襪O 錯誤。
無法處理該命令。
用戶響應:
重新提交該命令。
如果此錯誤仍存在,那麼請檢查 db2diag 日談灶激志文件以了解詳細信息,並確保配置
文件可訪問。
3. 如何分析DB2的錯誤信息
DB2資料庫錯誤信息:
com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -407, SQLSTATE: 23502, SQLERRMC: TBSPACEID=2, TABLEID=640, COLNO=0
分析DB2報出的錯誤信息,主要從六個方面進行分析:
SQLCODE, SQLSTATE, SQLERRMC, TBSPACEID, TABLEID, COLNO
1、先從SQLCODE和SQLSTATE兩方面的數字確認是什麼原因(見網址:http://www.knowsky.com/538581.html)
2、在根據TBSPACEID和TABLEID兩方面確認是哪個表
SQL語句:select * from syscat.tables where tbspaceid="" and tableid=""
3、根據COLNO確認是哪個列出問題
SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME= '*******' AND COLNO = 「」
三步就可以精確確認錯誤的原因了
原理分析:在DB2 資料庫中隱藏著一個內部表,專存儲資料庫的各個表。可以通過select * from syscat.tables進行查看。TBSPACEID, TABLEID, COLNO 都是表tables 中的欄位。
=====================================================================
but,
我的DB2資料庫錯誤信息:
com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -532, SQLSTATE: 23504, SQLERRMC: DE_ANOM_DETN.FK_TT_ANOM_TT_DETN_EVNT
根據SQLCODE和SQLERRMC可知:
-532 23504 刪除操作違反了已指定的參照約束
可以判斷出,應該是在刪除級聯表格時,發現參考的外鍵為空了,應該是提前刪除了。
但是我的錯誤信息裡面並沒有上面提示的那麼詳細,上面的是SQLERRMC: TBSPACEID=2, TABLEID=640, COLNO=0 ,而我的是SQLERRMC: DE_ANOM_DETN.FK_TT_ANOM_TT_DETN_EVNT,由此可以推斷出,SQLERRMC裡面的信息就是定位錯誤的核心!!可是這個是什麼呢??估計這個應該找資料庫設計文檔了。
最後沒管這個問題,直接把DB2恢復(restore)一個鏡像點了,然後mq(Qmanager)啟動,was啟動(前提是mq啟動)。問題可能是執行順序或者因為某個伺服器節點未啟動caused的,當這些伺服器節點都正常啟動之後,把資料庫restore正常狀態,然後就可以正常執行了。