标签: cfstoredproc

CF11更新5后,cfstoredproc不再返回结果

我有几个SQL Server 2008存储过程.我通过cfstoredproc调用它们.在4月17日运行CF服务器更新后,CF不再获得结果.这是其中一个电话:

<cfstoredproc procedure="proc_xxxx" datasource="#application.dsn#" debug="yes" returnCode="yes">
<cfprocparam type="in" cfsqltype="cf_sql_integer"  dbvarname="@myID" value="#arguments.myID#">
<cfprocparam type="in" cfsqltype="cf_sql_varchar"  dbvarname="@EmailAddr" value="#trim(arguments.emailAddress)#"  null="#not len(arguments.emailAddress)#">
<cfprocparam type="out" cfsqltype="cf_sql_integer" dbVarName="@NewUserID"  variable="newUserID" > 
<cfprocresult name="qryUser">   
</cfstoredproc>

<cfoutput>newUserID = #newUserID#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

我得到一个newUserID未定义的错误.同样,在更新5之前,所有东西都运行良好.

如果我在SSMS中调用存储过程,一切正常.cfstoredproc工作正如我在数据库中看到我的更新和插入.但是,它根本不会再返回任何结果.返回代码为0,正如我所提到的,一切运行没有任何错误.

我试过了 :

 <cfprocresult resultset="1" name="qryResult">
Run Code Online (Sandbox Code Playgroud)

没有运气.有任何想法吗?提前致谢.

coldfusion cfstoredproc

8
推荐指数
1
解决办法
2434
查看次数

cfstoredproc和cfquery的结果不同

当我执行存储过程通过时cfstoredproc,我得到的结果不同于调用存储过程通过cfquery.我正在向每个调用传递相同的确切参数值.而且,当我在SQL Studio中运行存储过程时,我得到了正确的结果(与cfquery相同).

这是cfstoredproc电话

<cfstoredproc datasource="#request.mainDSN#" debug="#request.debug#" procedure="rankingresults">
   <cfprocparam type="in" value="8652" CFSQLType="CF_SQL_INTEGER">
   <cfprocparam type="in" value="50" CFSQLType="CF_SQL_INTEGER">
   <cfprocparam type="in" value="53" CFSQLType="CF_SQL_INTEGER">
   <cfprocresult name="local.listing">
</cfstoredproc>
Run Code Online (Sandbox Code Playgroud)

这是cfquery电话

<cfquery datasource="#request.mainDSN#" name="rankings">
   EXEC rankingresults
    @CityZipId = 8652,
    @distance = 50,
    @sic = 53
</cfquery>
Run Code Online (Sandbox Code Playgroud)

结果完全不同.它甚至都不是很接近.我已经被我的头撞了几个小时了,我无法弄清楚它为什么要做它正在做的事情.

UPDATE

存储的proc很大(我继承了一个),所以我不打算将它全部粘贴在这里:http://pastebin.com/EtufPWXf

t-sql coldfusion cfquery cfstoredproc coldfusion-8

1
推荐指数
1
解决办法
651
查看次数

没有语句解析和错误的参数数量或类型 - cfstoredproc

我有一个Oracle程序 - editBacklog,我通过cfstoredproc从CFM页面调用.在对程序进行了几处更改后,我开始获得ORA-06550:第1行第7列:PLS-00306:调用'EDITBACKLOG'时参数的数量或类型错误.我之前得到过这个,发现如果我改变了程序的名称,它就会重新开始工作.我将名称更改为editBacklog2,它按照我的预期工作.我将名称更改回editBacklog并得到了同样的错误.我再次将名称更改回editBacklog2并开始获取ORA-01003:未解析任何语句.此时除了名字外,NOTHING已经改变了.我再次将名称更改为editBacklog3,它按预期工作.

截至目前
editBacklog = ORA-06550
editBacklog2 = ORA-01003
editBacklog3 =工作(有点)

当我试图修复ORA-01821:日期格式无法识别错误时,整个事情就开始了.我担心当我开始改变事物时,我会开始得到上述相同的跛脚行为.

无论是Oracle还是CF都在搞乱我,我最终会因为它而不喜欢其中一个.

我认为它可能是cfstoredproc缓存元数据或东西,但谷歌,liveocs或OTN都没有多少关于我的情况说.

我不是SA或DBA.

有人有主意吗?

oracle coldfusion stored-procedures cfstoredproc

0
推荐指数
1
解决办法
4315
查看次数