Problemas con SQL Server

Bel?
03 de Septiembre del 2005
Hola a todos, resulta que estoy desarrollando una aplicación, en php y base de datos SQL Server, y me he encontrado con el siguiente problema:

Al principio desarrollé con servidor Apache pero por necesidades del cliente, cambié a IIS. El primer cambio de APACHE a IIS en un servidor de pruebas, funcionó perfectamente a execpción de algunos detalles, tanto la instalación de php como la conexión con SQL.

Pues resulta que al instalar la aplicación en otro servidor distinto, me he encontrado con que en un caso muy concreto un recorset que me devuelve una consulta se pierde.

el código que da el problema es el siguiente:

function getOficinaServicio()
{
$oficinaServicio = array();
$consulta = "en mi caso devuelve 3 filas de la tabla";

$conexion = mssql_connect(servidor,$usuario,$clave);

mssql_select_db ($nombreBD,$conexion);
$resultadoOficinas = mssql_query ($consulta);
if ($resultadoOficinas == 0)
{
echo "ERROR"
exit();
}

if ($resultadoOficinas!=1)
{
while ($fila=mssql_fetch_array($resultadoOficinas))
{
$ofiServicio = new Oficina($fila[\'IdOficina\']);
array_push($oficinaServicio,$ofiServicio);
}
}
return $oficinaServicio;
}

Resulta que al crear el primer objeto y meterlo en el array, por arte de magia el recorset desaparece por lo que la segunda y tercera fila que me devuelve la consulta no se pueden observar.

Lo curioso de esto es que el mismo proceso se realiza en otra llamada anterior a esta sin problemas y que el mismo código con la misma base de datos pero en un servidor IIS distinto funciona perfectamente y el recorset no se pierde.

Me podríais dar alguna pista de porque puede desaparecer el recorset, si tiene algo que ver con la configuración de PHP; SQL SERVER o IIS?.

He probado a cambiar muchas cosas he mirado el php.ini de los dos servidores y son iguales, asi que estoy un poco perdida.

Muchas gracias por vuestra ayuda y un Saludo Belén