問題現象
在使用 PL/SQL Developer 時,點擊某些欄位旁的小按鈕(如彈出編輯視窗、查詢建構器等)時,程式彈出錯誤訊息:「無效的窗口句柄」,導致功能無法正常運作。
根本原因
經查證,此問題與 Windows 的 Print Spooler(列印緩衝器)服務 有關。PL/SQL Developer 的某些 UI 元件在初始化時會呼叫系統列印相關 API,若 Print Spooler 服務未啟動或處於異常狀態,便會觸發「無效的窗口句柄」錯誤。
解決步驟
- 按下 Win + R,輸入
services.msc 並按 Enter,開啟「服務」管理嵌入式管理單元。
- 在服務清單中找到 Print Spooler(中文顯示為「列印緩衝器」)。
- 若服務狀態非「執行中」,請右鍵點選並選擇 啟動;若已執行中但仍有問題,可嘗試 重新啟動 該服務。
- 建議將啟動類型設為 自動,確保系統開機時自動啟動。
- 重新啟動 PL/SQL Developer,問題應即解決。
補充說明
- 此問題常見於 Windows 10/11、Windows Server 2016/2019 等環境,尤其是精簡版或經過優化的系統映像中,Print Spooler 可能預設為手動或已停用。
- 若服務啟動後仍報錯,請檢查相依服務(如 Remote Procedure Call (RPC))是否正常運行。
- 此錯誤與資料庫連線、權限、SQL 語法無關,純屬客戶端 UI 層與作業系統服務的互動問題。
只要確保 Print Spooler 服務正常運行,PL/SQL Developer 的彈出視窗功能即可恢復正常,無需重裝軟體或修改登錄檔。