Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ejecutar procedimiento almacenado SQL

Estas en el tema de ejecutar procedimiento almacenado SQL en el foro de PHP en Foros del Web. Muy buenas. Me estoy volviendo loco con un problema.. Tengo un procedimiento almacenado, que inserta una serie de datos en una tabla SQL Server 2008, ...
  #1 (permalink)  
Antiguo 25/06/2013, 02:11
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 6 meses
Puntos: 0
ejecutar procedimiento almacenado SQL

Muy buenas.

Me estoy volviendo loco con un problema.. Tengo un procedimiento almacenado, que inserta una serie de datos en una tabla SQL Server 2008, y no produce el mismo resultado al ejecutarlo desde PHP, que desde el propio SQL. Tampoco me tira ningun error. He probado a hacer la conexion con PDO y con sqlsrv...y el resultado es el mismo, Desde PHP me inserta 22 registros, y desde SQL 25(como debe ser). He ejecutado otros procedimientos sin problema, el tema es que este utiliza dos cursores, pero si me llega a insertar 22 registros, que pasa con el resto?
Entiendo que si desde SQL lo ejecuta bien, el problema esta en PHP..¿Que puedo hacer?

Código PHP:
  try {
        
$db = new PDO('sqlsrv:Server=' $server ';Database='$database,$username,$password);
        
$query $db->prepare("EXEC dbo.wwGetCriteriosMaterial '000208'");
        
$query->execute();
        
    }catch (
PDOException $e) {
        echo 
$e->getMessage();
    } 
Gracias.
Un saludo.
  #2 (permalink)  
Antiguo 25/06/2013, 13:01
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 18 años, 4 meses
Puntos: 5
Respuesta: ejecutar procedimiento almacenado SQL

Amigo, sugerencia

Si vas a utilizar php usa de base de datos mysql, no tiene mucho sentido usar php con sql server.
  #3 (permalink)  
Antiguo 25/06/2013, 13:22
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: ejecutar procedimiento almacenado SQL

Gracias por la sugerencia...pero estoy desarrollando una solucion de movilidad para una empresa, cuyos programas centrales utilizan como motor de Base de Datos el SQL Server 2008(con licencia comprada). Lo que no tendria sentido,seria migrar todos estos datos, y renunciar a todas las posibilidades que me da el SQL, si puedo conectarme directamente con PHP.

Gracias de todas formas.
Un saludo.
  #4 (permalink)  
Antiguo 25/06/2013, 14:06
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: ejecutar procedimiento almacenado SQL

Y por que usas PHP ? o sea... tienes razon en tus planteamientos, debes usar MS-SQL Server pero seria mas facil trabajar en .NET donde tienes LINQ y un monton de facilidades para trabajar con SQL

Como lenguaje C# es mucho mas potente, maduro y seguro.

PHP es mas facil....en fin
__________________
Salu2!

Última edición por Italico76; 25/06/2013 a las 14:19
  #5 (permalink)  
Antiguo 25/06/2013, 14:29
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: ejecutar procedimiento almacenado SQL

Hola Italico76.

Gracias por los consejos. Elegi Php, porque estoy mas acostumbrado a usarlo, ademas necesitaba que se pudiera ejecutar en diferentes sistemas operativos Windows,Android,etc.. sin tener que hacer un desarrollo diferente para cada dispositivo. Php cubria todas mis necesidades, de hecho funciona todo perfectamente, excepto estos procedimientos almacenados con cursores.

Un saludo.
  #6 (permalink)  
Antiguo 25/06/2013, 22:42
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 8 meses
Puntos: 292
Respuesta: ejecutar procedimiento almacenado SQL

.NET es multiplataforma (Windows / Linux / Android) sobre MONO pero tiene algunas funcionalidades limitadas respecto de LINQ creo

PHP / Apache hasta donde se no fueron portados a Android, ojo!


OJO: si es cuestion de hacer una aplicacion web (no una app de celular), entonces no tiene sentido decir que lo haras con PHP
__________________
Salu2!

Última edición por Italico76; 26/06/2013 a las 06:20
  #7 (permalink)  
Antiguo 27/06/2013, 02:20
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: ejecutar procedimiento almacenado SQL

Tema solucionado..Aunque el problema lo tenia PHP, la solucion estaba en SQL...Añadiendo SET NOCOUNT ON en el procedimiento almacenado, se deshabilita la cuenta del numero de filas afectadas por cada instruccion..y se ve que esto hacia que PHP terminara la ejecucion antes de tiempo.
Gracias.
Un saludo.
  #8 (permalink)  
Antiguo 27/06/2013, 02:37
 
Fecha de Ingreso: junio-2003
Mensajes: 203
Antigüedad: 21 años, 6 meses
Puntos: 0
Respuesta: ejecutar procedimiento almacenado SQL

Cita:
Iniciado por Italico76 Ver Mensaje
.NET es multiplataforma (Windows / Linux / Android) sobre MONO pero tiene algunas funcionalidades limitadas respecto de LINQ creo

PHP / Apache hasta donde se no fueron portados a Android, ojo!


OJO: si es cuestion de hacer una aplicacion web (no una app de celular), entonces no tiene sentido decir que lo haras con PHP


Hola Italico76, no se si fueron portados o no, pero ya lo habia hecho con anterioridad, y no tuve problemas con Apache y Android. Respecto a lo otro que me comentas, he dicho que lo estoy haciendo en PHP, porque es el lenguaje del lado del servidor que elegi, y donde tenia el problema..Luego, el como lo utilice del lado de cliente, no me parecia relevante para mi problema..

Gracias.
Un saludo.

Etiquetas: almacenado, procedimiento, registro, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.