Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 提供的值的列名或数目与表定义不匹配_Sql_Coldfusion - Fatal编程技术网

Sql 提供的值的列名或数目与表定义不匹配

Sql 提供的值的列名或数目与表定义不匹配,sql,coldfusion,Sql,Coldfusion,我有一个存储过程,我对其进行了更改,并在存储过程中添加了2个新的表单字段 然后成功地运行了它 现在,当我撤销存储的proc并运行时,它会成功运行,但会在coldfusion中运行 它给出了错误 [Macromedia][SQLServer JDBC Driver][SQLServer]Insert Error: Column name or number of supplied values does not match table definition. 90 : <cfp

我有一个存储过程,我对其进行了更改,并在存储过程中添加了2个新的表单字段 然后成功地运行了它 现在,当我撤销存储的proc并运行时,它会成功运行,但会在coldfusion中运行 它给出了错误

[Macromedia][SQLServer JDBC Driver][SQLServer]Insert Error: Column name or number of supplied values does not match table definition. 


90 :     <cfprocparam  type="in" cfsqltype="CF_SQL_INTEGER" dbvarname="@reportMonth"  value="#xxMDB#">
91 :     <cfprocparam  type="in" cfsqltype="CF_SQL_INTEGER" dbvarname="@orderBy"     value="#xxOBDB#">
92 :     **<cfprocresult name="xxResult">**
93 : </cfstoredproc>
[Macromedia][SQLServer JDBC Driver][SQLServer]插入错误:提供的值的列名或数量与表定义不匹配。
90 :     
91 :     
92 :     ****
93 : 
自ColdFusion MX以来:

更改了dbvarname属性 行为:它现在被所有人忽略 司机。ColdFusion使用JDBC2.2和 不支持命名参数


我同意您应该删除dbVarname并使用位置符号。我知道您说过该过程已成功运行,但“插入错误:…”看起来像是直接的数据库错误。建议在过程的sql中出现问题。dbvarname=“@orderBy”还表明您的过程可能正在使用动态sql。它是?动态sql的问题更难调试,也容易遗漏。如果您的CF代码值与初始测试中使用的值不同或顺序不同,那么它可能会解释为什么该过程一开始似乎是有效的。(我不喜欢动态sql)@Henry:+1,cfquickdocs还可以获得一个虚拟加分:非常好,谢谢。@dan:它过去能用并不意味着它现在还能用。Coldfusion 6(又名MX)与以前的版本相比有很大的变化。它们很好地保持了兼容性,但并非所有地方都如此。CF管理员中有一个“代码分析器”(在“调试和日志记录”下),它可以在您的旧代码中指出这些类型的内容。感谢henry提供的链接和tomalak提供的CFadmin路径。今天早上,当SQL server重新启动一次时,错误得到纠正。在此之前,还有一个未检测到的数据库错误