You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法打开SQL worksheet,报ClassCastException类转换异常求助

报错信息
java.lang.ClassCastException: oracle.javatools.editor.language.plsql.PLSQLLanguageSupport cannot be cast to oracle.dbtools.raptor.plsql.language.PLSQLLanguageSupport
    at oracle.dbtools.raptor.plsql.folding.PlSqlFoldingModel.<init>(PlSqlFoldingModel.java:60)
    at oracle.dbtools.worksheet.folding.WorksheetFoldingPlugin.createModel(WorksheetFoldingPlugin.java:51)
    at oracle.javatools.editor.folding.CodeFoldingMargin.createCodeFoldingModel(CodeFoldingMargin.java:418)
    at oracle.javatools.editor.folding.CodeFoldingMargin.attach(CodeFoldingMargin.java:359)
    at oracle.javatools.editor.folding.AbstractCodeFoldingPlugin.attach(AbstractCodeFoldingPlugin.java:124)
    at oracle.javatools.editor.folding.AbstractCodeFoldingPlugin.installImpl(AbstractCodeFoldingPlugin.java:42)
    at oracle.dbtools.worksheet.folding.WorksheetFoldingPlugin.installImpl(WorksheetFoldingPlugin.java:42)
    at oracle.javatools.editor.plugins.AbstractEditorPlugin.install(AbstractEditorPlugin.java:43)
    at oracle.javatools.editor.BasicEditorPane.installPlugin(BasicEditorPane.java:2722)
    at oracle.dbtools.worksheet.editor.WorksheetGUI.<init>(WorksheetGUI.java:862)
    at oracle.dbtools.worksheet.editor.Worksheet.createGUI(Worksheet.java:1120)
    at oracle.dbtools.worksheet.editor.Worksheet.getWorksheetGUI(Worksheet.java:1494)
    at oracle.dbtools.worksheet.editor.Worksheet.getGUI(Worksheet.java:1293)
    at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.attachEditor(SplitPane.java:1118)
    at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.attachNewEditor(SplitPane.java:1112)
    at com.oracle.jdeveloper.nbwindowsystem.editor.SplitPane.doLayout(SplitPane.java:585)
    at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.whenCurrentEditorChanges(NbEditorManager.java:1637)
    at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.whenCurrentEditorChanges(TabGroup.java:1026)
    at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.setCurrentTabGroupState(TabGroup.java:847)
    at com.oracle.jdeveloper.nbwindowsystem.editor.TabGroup.addTabGroupState(TabGroup.java:129)
    at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:556)
    at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.createEditor(NbEditorManager.java:533)
    at com.oracle.jdeveloper.nbwindowsystem.NbEditorManager.openEditor(NbEditorManager.java:401)
    at oracle.ide.cmd.OpenCommand.openWithNoProject(OpenCommand.java:336)
    at oracle.ide.cmd.OpenCommand.access$100(OpenCommand.java:63)
    at oracle.ide.cmd.OpenCommand$1.run(OpenCommand.java:268)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)
    at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
问题根因

注:你提到的SQL Workbench实际为Oracle SQL Developer(报错栈中内部代号为Raptor),该错误为该软件典型的PL/SQL语言支持组件类加载冲突问题,通常出现在版本升级失败、第三方插件安装异常、本地配置缓存损坏的场景。

解决方案

按优先级选择以下方案操作即可:

  • 方案1:重置本地缓存配置(不会丢失已保存的数据库连接,90%场景可解决问题)
    1. 完全关闭SQL Developer所有进程
    2. 打开对应系统的配置目录:
      • Windows:C:\Users\<你的系统用户名>\AppData\Roaming\SQL Developer\<对应版本号文件夹>
      • macOS:/Users/<你的系统用户名>/.sqldeveloper/<对应版本号文件夹>
      • Linux:/home/<你的系统用户名>/.sqldeveloper/<对应版本号文件夹>
    3. 删除或重命名该目录下的system_cache文件夹
    4. 重新启动SQL Developer,软件会自动重建缓存配置,再打开工作表即可正常使用
  • 方案2:禁用代码折叠功能(临时应急方案,不需要修改配置文件)
    1. 启动SQL Developer,暂时不要打开SQL工作表
    2. 依次点击顶部菜单 工具 > 首选项 > 代码编辑器 > 折叠
    3. 取消勾选启用代码折叠选项,点击确定保存设置
    4. 再尝试打开SQL工作表即可正常使用
  • 方案3:重装纯净版(前两种方案无效时使用)
    1. 卸载当前版本的SQL Developer
    2. 删除上文中提到的整个SQL Developer用户配置目录
    3. 下载官方最新稳定版SQL Developer,解压后直接运行,未安装第三方插件前先测试SQL工作表能否正常打开

内容的提问来源于stack exchange,提问作者Shruti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:54:03