<< ColdFusion User Group Brasil

Discussion Area

ask questions, discuss topics, solve problems

Discussion Home | About | Threads By Date | Search

Stored Procedures No MySQL


Thread posted 04/07/09 by Marcelo4001 last edited 04/07/09
9,662 views, 1 comments.

Title
Stored Procedures No MySQL

Content

Eu já tinha instalado o WAMP Server (que configura automáticamente o APACHE, PHP e MySQL no Windows) e depois instalei o ColdFusion 8.

Quando eu inicializo o MySQL, via Wamp Server, as minhas páginas CFM acessam os bancos de dados normalmente, assim como as páginas em PHP.

Resolvi começar a explorar as possibilidades de Stored Procedures do MySQL 5.0.51b e criei a SP abaixo:

CREATE  PROCEDURE `usuarios2`( IN chave varchar( 20 ), IN valor varchar( 20 ) )
BEGIN
if (chave = 'nomeus') THEN
Select idus as resultado from siteus where nomeus = valor;
ELSE
Select nomeus as resultado from siteus where idus = valor;
END IF;
End

A Stored Procedure acima funciona perfeitamente quando acessada via PHP, mas com o ColdFusion dá erro. Eu criei a seguinte página em cfm para acessar a rotina armazenada no MySQL:

<cfstoredproc datasource="mcr" procedure="usuarios2">
    <cfprocresult name="res1">
    <cfprocparam type="IN" cfsqltype="CF_SQL_VARCHAR" value="idus">
    <cfprocparam type="IN" cfsqltype="CF_SQL_VARCHAR" value="2">
</cfstoredproc>
<cfoutput query="res1">
    #res1.resultado#
</cfoutput>

E no navegador, recebo o seguinte erro:

The web site you are accessing has experienced an unexpected error.
Please contact the website administrator.

The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request

For input string: " 20 "

 

O que estaria acontecendo??? Eu não entendo o que pode ser e preciso de ajuda para resolver o problema, por favor.

Desde já, agradeço!

Comments

posted 04/07/09 by Marcelo4001 | Report Abuse

<p>N&atilde;o acredito!...</p> <p>Simplesmente tirei os espa&ccedil;os antes e depois dos valores para os tamanhos dos par&acirc;metros nas colunas, que o pr&oacute;prio phpmyadmin colocou quando eu criei a Stored Procedure e ela passou a funcionar no ColdFusion!... Simples assim!</p> <p>Troquei "varchar( 20 )" por "varchar(20)" na cria&ccedil;&atilde;o da SP e funcionou!</p> <p>Mesmo assim, obrigado a todos que leram estas mensagens pensando em me ajudar.</p> <p>Volto a postar quando encontrar outro problema ou, caso eu possa ajudar a outra pessoa.</p>