entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

problemas al ejecutar procedimiento almacenado

Tengo un problema cuando ejecuto varias consultas desde javascript usando ajax sin utilizar procedimientos almacenados, todo funciona bien, pero si ejecuta varias consultas y luego un procedimiento almacenado da un error de conexión y no recibo respuesta del lado del servidor, alguien tiene alguna idea de lo que pasa?

0voto

Peter comentado

¿Y cual es el código?

0voto

blaDDI comentado

$pCase = $oFn->get_PostGet('case',0);
$pCuenta = $oFn->get_PostGet('cuenta',0);
$CNDB->DB_Fetch_Array("CALL GetEstadoCuenta($pCuenta)");
echo "rj.Get('#MontoD').reset().value('".($rQuery[0]['dispon']>0?(number_format($rQuery[0]['disponible'],2)):'0.00')."');";

2 Respuestas

1voto

blaDDI Puntos2260

logré solucionar el problema agregando estas líneas en el archivo conf/httpd.conf de Apache

<IfModule mpm_winnt_module>
   ThreadStackSize 8388608
</IfModule>

Esto solucioona el error: Error 104 (net :: ERR_CONNECTION_FAILED)

0voto

Leonardo-Tadei comentado

Gracias por compartir la respuesta. Por favor, seleccionala así queda la cuestión marcada como solucionada.

Respecto a tu solución, esto significa que el procedimiento almacenado está consumiendo una cantidad enorme de recursos y desbordando el tamaño asignado por cada daimón de Apache... es probable que signifique que tenés que revisar el código para hacerlo más eficiente o para paginar el resultado obtenido y que no devuelva una respuesta gigante.

Saludos cordiales

0voto

blaDDI comentado

Este problema ocurre con más frecuencia en la plataforma Windows,
debido al tamaño de pila predeterminado de Apache. Hay 1 MB tamaño de la pila en Windows por defecto,
a diferencia de 8 MB en plataformas Unix / Linux. Podría ser una razón, por qué algunas por ejemplo
scripts PHP funciona correctamente en Linux, pero Windows no.

Por otra parte, el accidente no se pronuncia (fallo de segmentación), no hay ningún mensaje de error,
Apache simplemente deja de responder y el proceso hijo se reinicia. Browser consigue sin datos y hace
que una página en blanco, así que es un poco difícil decidir lo que está mal.

Es un problema común cuando se trabaja con expresiones regulares largas en PHP.

Hay un aviso en un solo registro de errores de Apache, que dice, que el proceso hijo se estrelló:

La mejor manera de alterar el tamaño de pila de la Apache está utilizando la directiva ThreadStackSize
en el archivo de configuración del Apache. Hay una descripción de la directiva ThreadStackSize en la
documentación de Apache:
Documentación Apache

Fuente

0voto

blaDDI comentado

El problema ocurre cuando el procedimiento devuelve un resultado,en caso contrario se ejecuta sin problemas; sigo sin explicarme por qué.

1voto

Leonardo-Tadei comentado

Tal vez si nos compartieras el código del procedimiento almacenado y la estructura de las tablas involucradas, podríamos ayudarte un poco más...

Incluso sería bueno abrir otra pregunta específica sobre por qué consume muchos recursos...

1voto

Peter comentado

Si, por favor esta marcala como resuelta y abre una nueva específica con el nuevo problema.

Saludos.

0voto

blaDDI comentado

Trataré de plantear de mejor manera el problema en otra pregunta, les agradezco su tiempo.
Saludos

1voto

wroque Puntos4630

Probablemete el procedimiento de almacenado no retorno un valor válido, y finaliza con un request de tipo 404 o 500, revisa con la herramienta del navegador (Red/Netwoking).

Pd: hace caso agrega el código.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta