Skip to main content
Inspiring
Nov 26, 2016 11:59 PM UTC
Answered

ColdFusion 2016 and Stored Procedure -dbvarname

There was discussion that ColdFusion was going to deprecate dbvarname with cf2016

I have code like this that works in CF2005 but I am migrating to CF2016 and am having issues with the Stored Procedure -dbvarname

This no longer works

<cfstoredproc datasource="#live#" procedure="ABX1265">

    <cfprocresult name = "resultXML" resultset = "1" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@COMPANY"   type="in" value="#companyCode#" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@ENVIRONMENT" type="in" value="#arguments.environment#">

</cfstoredproc>

  <cfquery name="out2" datasource="LIVE#companyCode#" >

#resultXML#

</cfquery>

This topic is closed to new replies. Start a new post to keep the conversation going.
BKBK
BKBKCorrect answer
Community Expert
Dec 26, 2016 4:40 PM UTC

@Weezerboy, I have to assume that, by CF2005 and ColdFusion Enterprise 12.0, you mean Coldfusion 5 and ColdFusion 2016 Enterprise. Yes, dbVarname was deprecated after Coldfusion 5. But it was apparently brought back to life in ColdFusion 11, amid some confusion.

See for example ColdFusion 11 and dbvarname attribute

In any case, what do your log files say? Do you get any error messages? What brand of database management do you use?

Have you tested whether the values of resultXML and LIVE#companyCode# are what you expect? You could debug your code as follows:

<cfstoredproc datasource="#live#" procedure="ABX1265">

    <cfprocresult name = "resultXML" resultset = "1" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@COMPANY"   type="in" value="#companyCode#" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@ENVIRONMENT" type="in" value="#arguments.environment#">

</cfstoredproc>

  <cfoutput>

datasource: LIVE#companyCode#<br>

resultXML: #resultXML#

</cfoutput>

3 replies

Inspiring
Dec 23, 2016 10:58 PM UTC

Hi Weezerboy,

Could you please tell me the update level of ColdFusion.

Thank You,

Abhishek

Translate
weezerboyAuthor
Inspiring
Dec 23, 2016 11:29 PM UTC

ColdFusion Enterprise 12.0

Patrick Hutchinson | Office: 804-370-6873

<mailto:patrick.hutchinson2@gmail.com> patrick.hutchinson2@gmail.com | <https://www.linkedin.com/profile/preview?locale=en_US&trk=prof-0-sb-preview-primary-button> LinkedIn

Translate
BKBK
Community Expert
BKBKCommunity ExpertCorrect answer
Community Expert
Dec 26, 2016 4:40 PM UTC

@Weezerboy, I have to assume that, by CF2005 and ColdFusion Enterprise 12.0, you mean Coldfusion 5 and ColdFusion 2016 Enterprise. Yes, dbVarname was deprecated after Coldfusion 5. But it was apparently brought back to life in ColdFusion 11, amid some confusion.

See for example ColdFusion 11 and dbvarname attribute

In any case, what do your log files say? Do you get any error messages? What brand of database management do you use?

Have you tested whether the values of resultXML and LIVE#companyCode# are what you expect? You could debug your code as follows:

<cfstoredproc datasource="#live#" procedure="ABX1265">

    <cfprocresult name = "resultXML" resultset = "1" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@COMPANY"   type="in" value="#companyCode#" >

    <cfprocparam cfsqltype="cf_sql_char" dbvarname="@ENVIRONMENT" type="in" value="#arguments.environment#">

</cfstoredproc>

  <cfoutput>

datasource: LIVE#companyCode#<br>

resultXML: #resultXML#

</cfoutput>

Translate