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

有效Oracle SQL在VS Code执行时触发"Unexpected Packet"错误的原因及修复

问题分析与解决

问题现象

触发异常的最简SQL语句:

select /** :'*/ dummy --'
from dual;

使用Oracle Developer Tools for VS Code (SQL and PLSQL) v21.5.0执行时,抛出错误:

TTCExecuteSql:ReceiveExecuteResponse - Unexpected Packet received.

但该语句在SQL Developer中针对19c、12c版本的Oracle数据库执行完全正常。同时发现:

  • 移除注释中任意字符、将注释内:'以外的字符替换为a,语句可正常执行
  • 注释内插入大量文本,错误仍持续

原因推测

这是ODT for VS Code v21.5.0的SQL解析器bug:工具在解析块注释/** ... */时,误将注释内的:'组合识别为绑定变量或特殊语法标记,导致生成的数据库请求数据包格式异常,Oracle数据库返回的响应不符合工具预期,从而触发"TTCExecuteSql"相关的通信错误。

SQL Developer使用独立的SQL解析逻辑,不会对注释内的这类组合产生误判,因此可以正常执行。

修复方案

  • 调整注释内容:修改注释内的特殊字符组合,比如将/** :'*/改为/** : '' */(添加空格或调整单引号位置)、/** :a'*/,或直接替换块注释为行注释,避开触发bug的字符组合。
  • 升级ODT for VS Code版本:该解析bug大概率在后续版本中被修复,直接升级到最新版本的Oracle Developer Tools for VS Code即可解决问题。
  • 临时替代方案:若需保留原SQL注释格式,可暂时使用SQL Developer或其他兼容的Oracle客户端工具执行该语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:42:39