FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Llamar a Procedientos Almacenados de MySql
Hola gente... estoy teniendo un problema al hacer la llamada a un procedimiento almacenado en MySql. Mediante un Query utilizo un 'call proc(param)', activo la consulta y me devuelve un error de que el procedimiento no existe. Estoy utilizando MySql 5 y me da el mismo error cuando trato de ejecutar el procedimiento desde el MySql Query Browser. Pero cuando lo llamo desde el MySql Front 3.2 no me da problemas. Alguien me puede explicar por que??
|
#2
|
||||
|
||||
¿con que componentes estas trabajando par llamar a tu procedimiento.... ?
|
#3
|
|||
|
|||
Estoy usando Delphi 6 y los componentes BDE Query, es necesario usar el componente StoreProc ?? . Luego les posteo el codigo del procedimiento, es un select simple, pero antes de que se defina el procedimiento tiene una linea que dice DELIMITER $$ y despues de la definicion un DELIMITER ; que hasta el momento no se para qué.
|
#4
|
||||
|
||||
supongo que el driver ODBC que estas usando no soporta aun los SP, tendrias primero que averiguar eso, ¿has probado con SP's (Store Procedure) simples?, te dan errores?, probaste llamarlo en SQLQuery de DBExpress directamente, saludos.
|
#5
|
||||
|
||||
Hola:
Mefistofeles, recuerda que la versión de Mysql 5 está en beta todavía, puede que por ahí el asunto no te resulta con distintos software, tal como tú lo mencionaste... Otra cosa, quizás esos software no soporten aún el MySQL 5 Saludos...
__________________
No todo es como parece ser... |
#6
|
|||
|
|||
El problema que tenia era que me olvide de especificar el nombre de la base de datos al llamar al procedimiento. Tendría que haber puesto 'call DB.procedure()'.
Si quiero hacer una consulta y poder ver el resultado de la consulta deberia usar una función o un procedimiento? por ejemplo, quiero hacer un listado de afiliados que ya pagaron el mes de agosto, y visualizar el resultado en un dbgrid. Mi consulta la unica linea que tiene es: select * from pagos where estado='pagado' and periodo='08-2005'; el mensaje que obtengo es "DB.procedure Can´t return a resultset in the given context". El ODBC que estoy utilizando es el 3.51, quiero usar el 5.0 pero me presenta conflictos al conectar la base de datos. |
#7
|
||||
|
||||
Cita:
Cita:
Saludos.
__________________
No todo es como parece ser... |
#8
|
|||
|
|||
Siempre me refiero a funciones o procedimientos almacenados de MySQL. Hasta el momento estoy usando TQuery para mis consultas pero quiero comenzar a usar procedimientos almacenados en MySQL y llamarlos desde delphi.
|
#9
|
||||
|
||||
Cita:
Puedes llamar a los procedimientos almacenados desde un TQuery como de una consulta se tratará, yo llamo a los procedimientos de SQL Server desde un TQuery con la siguiente instrucción..
y creo que debería funcionarte para MySQL, sólo debes averiguar con que instrucción ejecutas un procedimiento almacenado en MySQL. Saludos y cualquier cosa insisté...
__________________
No todo es como parece ser... Última edición por lucasarts_18 fecha: 29-09-2005 a las 00:13:01. Razón: Correción Ortográfica |
#10
|
||||
|
||||
Cita:
espero se comprenda la explicación, Saludos,. por cierto yo tengo el mismo problema si encontraste la solucion porfavor compartela. |
|
|
|