[英]IBM DB2 unable to access database from PHP after reboot
系統:Windows 8
我一直在使用IBM DB2 Express-C,Xampp和PHP訪問數據庫的學校項目。
一切都進行得很順利。 然后有一天,我重新啟動了計算機。
IBM Database Manager在啟動時返回以下錯誤:
SQL5005C操作失敗,因為數據庫管理器無法訪問數據庫管理器配置文件或數據庫配置文件。
我嘗試運行db2stop和db2start。
我仍然可以通過db2命令行終端訪問我的數據庫,好像沒有什么錯一樣。
但是,當我嘗試從PHP訪問數據庫時,我現在從PHP文件中收到以下錯誤:
58031 [IBM] [CLI驅動程序] SQL1031N在指定的文件系統上找不到數據庫目錄。 SQLSTATE = 58031 SQLCODE = -1031
您可能需要仔細檢查db2diag.log以查找SQL5005C
的原因。 在更好的情況下,訪問配置文件時會出現暫時性問題。 但是,在最壞的情況下,DBM或DB配置文件之一可能已損壞。 如果DBM CFG損壞,我通常使用db2idrop
/ db2icrt
。 RESET DB CFG
可以“修復”損壞的DB CFG(如在“重置”中,您將丟失所有自定義更改)。
隨后的SQL1031N
告訴我您嘗試訪問的數據庫已被取消目錄。 這也很奇怪,特別是因為您告訴我您可以從DB2命令行訪問數據庫。 您可能要從命令行執行LIST DB DIRECTORY
來顯示數據庫條目,還希望執行LIST DB DIRECTORY
LIST NODE DIRECTORY
來查看數據庫位於哪個節點上。
當您嘗試通過編程語言(PHP,Python或其他語言)與DB2進行交互時,將使用與db2客戶機應用程序進行交互的庫(例如python的ibm_db )來連接/查詢您的數據庫。
如果工作站上安裝了多個IBM Data Server客戶端軟件包,則可能無法使用正確的軟件包訪問數據庫。
因此,您必須驗證您的PHP api使用哪個客戶端來完成此工作。 去做這個:
您可以在此處找到有關在同一台機器上管理更多db2客戶機的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.