Oracle SQL Developer 21本地路径读取失败delims报错求助
解决Oracle SQL Developer 21中加载CSV脚本的批处理语法错误
问题原因
SQL Developer 21版本对host命令执行Windows批处理时的参数解析逻辑发生了变化,原脚本中的引号转义方式和变量格式不再兼容,导致批处理的for命令触发语法错误delims was unexpected at this time。
修正后的脚本
host for /f ""delims="" %f in ('dir /b &asig_dir\*.csv') do echo @@&load_asig &asig_dir.\%f >> &runfile host for /f ""delims="" %f in ('dir /b &ugrp_dir\*.csv') do echo @@&load_ugrp &ugrp_dir.\%f >> &runfile host for /f ""delims="" %f in ('dir /b &ngrp_dir\*.csv') do echo @@&load_ngrp &ngrp_dir.\%f >> &runfile
关键修改点
- 引号转义调整:将原脚本中的
"替换为""(两个连续双引号),这是SQL Developer中在host命令里传递双引号给Windows批处理的正确方式,确保for命令的参数被正确解析。 - 移除多余空格:第三行原脚本中的
& ngrp_dir存在多余空格,修正为&ngrp_dir,避免变量引用被截断导致路径无效。 - 路径拼接优化:将
&asig_dir.\ %f中的空格去掉,改为&asig_dir.\%f,防止批处理将空格视为参数分隔符,确保路径拼接正确。
额外验证步骤
- 确认
&asig_dir、&ugrp_dir、&ngrp_dir这些SQL Developer替换变量已正确定义,路径末尾不要带反斜杠(脚本中已添加\)。 - 执行脚本前确保
&runfile指定的文件路径有写入权限,避免生成临时文件失败。
内容的提问来源于stack exchange,提问作者Disha
相关产品推荐
相关产品推荐

