[IBM][CLI Driver][DB2/6000] SQL0443N 例程 "SYSIBM.SQLPRIMARYKEYS"
(特定名稱 "PRIMARYKEYS")返回了帶診斷文本
"SYSIBM:CLI:-805" 的錯誤 SQLSTATE。 SQLSTATE=38553
sqlcode: -443
Package not found),通常因 BIND 遺漏或版本升級後未重新綁定。Windows 環境安裝 FixPak 10 (V8.2 FP10) 後,系統目錄套件(如 db2schema.bnd)未自動重新綁定。CLI 內建存儲過程 SQLPRIMARYKEYS 依賴該套件,調用時找不到有效版本,拋出 -805 並包裝為 SQL0443N。
db2 terminate
db2 connect to
db2 bind /db2schema.bnd blocking all grant public sqlerror continue
db2 terminate
通常為 %DB2PATH%\bnd (Windows) 或 $DB2PATH/bnd (Linux/Unix)。
db2bind 腳本。db2iupdt -k 或未以實例擁有者身份執行綁定。db2iupdt -k <inst_name> → db2 bind <bnd_dir>/db2schema.bnd ... → db2 bind <bnd_dir>/db2cli.lst ...db2diag.log 是否有 SQL0805N 記錄,定期掃描。CALL SYSPROC.SQLPRIMARYKEYS(...)、SQLTABLES 等 CLI 目錄過程。
-- 查詢無效套件
SELECT PKGNAME, PKGSCHEMA, VALID, LAST_BIND_TIME
FROM SYSCAT.PACKAGES
WHERE VALID = 'N';
-- 批次重新綁定(謹慎,建議維護窗口執行)
db2rbind <db_name> -l rebind.log all
SQL0443N + SQLSTATE 38553 + 診斷文本含 -805,九成以上是系統套件綁定遺漏。養成「打補丁必重綁」習慣,可避免 90% 此類事故。