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

ColdFusion调用SQL Server存储过程出现语法错误求助

问题原因与解决方案

问题出在存储过程名称包含连字符-,ColdFusion的cfstoredproc标签在传递名称时未自动用方括号包裹,导致SQL Server JDBC驱动解析时出现语法错误——而你在SSMS中执行时是用方括号包裹名称的,所以能正常运行。

解决步骤

修改cfstoredproc的procedure参数,给存储过程名称加上方括号,明确指定架构和带特殊字符的对象名:

<cfstoredproc procedure="[dbo].[SendAlert_follow-up]" datasource="#Application.dsn#" debug="yes" returncode="no">            
    <cfprocparam type="In" cfsqltype="cf_sql_integer" variable="@accountKey" value="11" null="no">    
    <cfprocparam type="In" cfsqltype="cf_sql_varchar" variable="@messageBatchKey" value="D2F91D05-B972-5A1F-98B560558DCFADFB" null="no">    
    <cfprocparam type="In" cfsqltype="cf_sql_varchar" variable="@method" value="t" null="no">    
    <cfprocresult name="theResult">         
</cfstoredproc>

这样ColdFusion会正确传递带方括号的存储过程名给JDBC驱动,避免语法解析错误。

另外也可以尝试更新SQL Server JDBC驱动到最新版本,但优先采用给名称加方括号的方式——这是处理SQL Server中带特殊字符对象名称的标准做法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:31:11