Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2014, 17:32
emii89
 
Fecha de Ingreso: septiembre-2012
Mensajes: 11
Antigüedad: 12 años, 1 mes
Puntos: 0
Problema funciones SQLSRV

Hola! finalmente luego de muchos problemas, pude conectar mi código con SQL Express 2008. El problema es que las funciones de SQLSRV son, evidentemente, distintas a las de mysql y no puedo hacer funcionar mi programa de la misma manera.

Básicamente lo que tengo que lograr es tomar datos de la tabla en la base SQL y subirlas a un array para cargarlas en un web service. El código en mysql que funcionaba perfectamente es este:

Código PHP:
<?php

require_once("../wsFunctions.php");

$db mysql_connect('localhost','root','''test');
        
mysql_select_db("test");
        if (!
$db)
            {
                print 
"<h1>Unable to Connect to MySQL</h1>";
            }
        
$query "SELECT * FROM trazabilidad WHERE (informado != 's')";
        
$result mysql_query($query) or die("Error en: $query: " mysql_error());
        while(
$registro mysql_fetch_array($result))
            {
                if (isset(
$registro['id']))
                    {
                        
$id $registro['id'];
                    }else{
                    
$id="";
                    }

                echo 
"ID: ";
                echo 
"$id";
                echo 
"<br>";
                
$args[0]["f_evento"] = $registro['f_evento'];
                echo 
"Fecha de vencimiento: ";
                echo 
$registro['f_evento'];
                echo 
"<br>";
                
$args[0]["h_evento"] = $registro['h_evento'];
                echo 
"Hora de envento: ";
                echo (
$registro['h_evento']);
                echo 
"<br>";
                
$args[0]["gln_origen"] = $registro['gln_origen'];
                echo 
"GLN Origen: ";
                echo (
$registro['gln_origen']);
                echo 
"<br>";
                
$args[0]["gln_destino"] = $registro['gln_destino'];
                echo 
"GLN Destino: ";
                echo (
$registro['gln_destino']);
                echo 
"<br>";
                
$args[0]["n_remito"] = $registro["n_remito"];
                echo 
"Nº de Remito: ";
                echo (
$registro["n_remito"]);
                echo 
"<br>";
                
$args[0]["n_factura"] = $registro["n_factura"];
                echo 
"Nº de Factura: ";
                echo (
$registro["n_factura"]);
                echo 
"<br>";
                
$args[0]["vencimiento"] = $registro["vencimiento"];
                echo 
"Vencimiento: ";
                echo (
$registro["vencimiento"]);
                echo 
"<br>";
                
$args[0]["gtin"] = $registro["gtin"];
                echo 
"GTIN: ";
                echo (
$registro["gtin"]);
                echo 
"<br>";
                
$args[0]["lote"] = $registro["lote"];
                echo 
"Lote: ";
                echo (
$registro["lote"]);
                echo 
"<br>";
                
$args[0]["numero_serial"] = $registro["numero_serial"];
                echo 
"Nº de Serial: ";
                echo (
$registro["numero_serial"]);
                echo 
"<br>";
                
$args[0]["id_evento"] = $registro["id_evento"];
                echo 
"ID Evento: ";
                echo (
$registro["id_evento"]);
                echo 
"<br>";
                
$args[0]["n_postal"] = $registro["n_postal"];
                echo 
"Nº Postal: ";
                echo (
$registro["n_postal"]);
                echo 
"<br>";
                
$args[0]["telefono"] = $registro["telefono"];
                echo  
"Teléfono: ";
                echo (
$registro["telefono"]);
                echo 
"<br>";
                
$args[0]["cuit_destino"] = $registro["cuit_destino"];
                echo  
"cuit_destino: ";
                echo (
$registro["cuit_destino"]);
                echo 
"<br>";
                
$args[0]["cuit_origen"] = $registro["cuit_origen"];
                echo (
$registro["cuit_origen"]);
                echo  
"cuit_origen: ";
                echo 
"<br>";
                
$args[0]["tipo_documento"] = $registro["tipo_doc"];
                echo (
$registro["tipo_doc"]);
                echo  
"tipo_doc: ";
                echo 
"<br>";
                
$args[0]["desde_numero_serial"] = $registro["desde_serie"];
                echo (
$registro["desde_serie"]);
                echo  
"desde_serie: ";
                echo 
"<br>";
                
$args[0]["hasta_numero_serial"] = $registro["hasta_serie"];
                echo (
$registro["hasta_serie"]);
                echo  
"hasta_serie: ";
                echo 
"<br>";
        

                
$user '7798172580002';
                
$pass 'Pami0704';                
                
$response SendMedicamentos($args,$user,$pass);

                echo 
"resultado: ".$response['resultado']."<br>";
                echo 
"codigoTransaccion: ".$response['codigoTransaccion']."<br>";
                
$cod_trans=$response['codigoTransaccion'];
                
$idTransaccionParaCancelar $response['codigoTransaccion'];
                
$errores $response['errores'];
                
$falla=$errores;
                
$query mysql_query("UPDATE trazabilidad SET cod_trans='$cod_trans' WHERE id='$id'");
                
$query mysql_query("UPDATE trazabilidad SET error='$falla' WHERE id='$id'");
                
$query mysql_query("UPDATE trazabilidad SET informado= 's' WHERE error != 'ARRAY' and id='$id'");                
                echo 
"-------------------------------------------<br>";
            }

?>
Sin embargo, cuando modifico el código para que funcione con SQLSRV, no lo logro hacer andar y tengo este problema:

Código PHP:
<?php

require_once("../wsFunctions.php");

$server "Emi-PC\SQLEXPRESS";
$connectionInfo = array( "Database"=>"xpyme""UID"=>"sa""PWD"=>"sa2008");
        
$conn sqlsrv_connect($server$connectionInfo);
        if (
$conn)
            {
                echo 
"Conexión exitosa.<br />";
            }
        else
            {
                echo 
"Problema de conexión.<br/>";
                die (
print_r(sqlsrv_errors(), true));
            }
        
$query "SELECT * FROM Informes WHERE (informado != 's')";
        
$result sqlsrv_query($conn,$query) or die("Error en: $query: ");
        while(
$registro sqlsrv_fetch_array($result))
            {
                if (isset(
$registro['id']))
                    {
                        
$id $registro['id'];
                    }else{
                    
$id="";
                    }

                echo 
"ID: ";
                echo 
"$id";
                echo 
"<br>";
                
$args[0]["f_evento"] = $registro['f_evento'];
                echo 
"Fecha de vencimiento: ";
                echo 
$registro['f_evento'];
                echo 
"<br>";
                
$args[0]["h_evento"] = $registro['h_evento'];
                echo 
"Hora de envento: ";
                echo (
$registro['h_evento']);
                echo 
"<br>";
                
$args[0]["gln_origen"] = $registro['gln_origen'];
                echo 
"GLN Origen: ";
                echo (
$registro['gln_origen']);
                echo 
"<br>";
                
$args[0]["gln_destino"] = $registro['gln_destino'];
                echo 
"GLN Destino: ";
                echo (
$registro['gln_destino']);
                echo 
"<br>";
                
$args[0]["n_remito"] = $registro["n_remito"];
                echo 
"Nº de Remito: ";
                echo (
$registro["n_remito"]);
                echo 
"<br>";
                
$args[0]["n_factura"] = $registro["n_factura"];
                echo 
"Nº de Factura: ";
                echo (
$registro["n_factura"]);
                echo 
"<br>";
                
$args[0]["vencimiento"] = $registro["vencimiento"];
                echo 
"Vencimiento: ";
                echo (
$registro["vencimiento"]);
                echo 
"<br>";
                
$args[0]["gtin"] = $registro["gtin"];
                echo 
"GTIN: ";
                echo (
$registro["gtin"]);
                echo 
"<br>";
                
$args[0]["lote"] = $registro["lote"];
                echo 
"Lote: ";
                echo (
$registro["lote"]);
                echo 
"<br>";
                
$args[0]["numero_serial"] = $registro["numero_serial"];
                echo 
"Nº de Serial: ";
                echo (
$registro["numero_serial"]);
                echo 
"<br>";
                
$args[0]["id_evento"] = $registro["id_evento"];
                echo 
"ID Evento: ";
                echo (
$registro["id_evento"]);
                echo 
"<br>";
                
$args[0]["n_postal"] = $registro["n_postal"];
                echo 
"Nº Postal: ";
                echo (
$registro["n_postal"]);
                echo 
"<br>";
                
$args[0]["telefono"] = $registro["telefono"];
                echo  
"Teléfono: ";
                echo (
$registro["telefono"]);
                echo 
"<br>";
                
$args[0]["cuit_destino"] = $registro["cuit_destino"];
                echo  
"cuit_destino: ";
                echo (
$registro["cuit_destino"]);
                echo 
"<br>";
                
$args[0]["cuit_origen"] = $registro["cuit_origen"];
                echo (
$registro["cuit_origen"]);
                echo  
"cuit_origen: ";
                echo 
"<br>";
                
$args[0]["tipo_documento"] = $registro["tipo_doc"];
                echo (
$registro["tipo_doc"]);
                echo  
"tipo_doc: ";
                echo 
"<br>";
                
$args[0]["desde_numero_serial"] = $registro["desde_serie"];
                echo (
$registro["desde_serie"]);
                echo  
"desde_serie: ";
                echo 
"<br>";
                
$args[0]["hasta_numero_serial"] = $registro["hasta_serie"];
                echo (
$registro["hasta_serie"]);
                echo  
"hasta_serie: ";
                echo 
"<br>";
        

                
$user '7798172580002';
                
$pass 'Pami0704';                
                
$response SendMedicamentos($args,$user,$pass);

                echo 
"resultado: ".$response['resultado']."<br>";
                echo 
"codigoTransaccion: ".$response['codigoTransaccion']."<br>";
                
$cod_trans=$response['codigoTransaccion'];
                
$idTransaccionParaCancelar $response['codigoTransaccion'];
                
$errores $response['errores'];
                
$falla=$errores;
                
$query sqlsrv_query("UPDATE trazabilidad SET cod_trans='$cod_trans' WHERE id='$id'");
                
$query sqlsrv_query("UPDATE trazabilidad SET error='$falla' WHERE id='$id'");
                
$query sqlsrv_query("UPDATE trazabilidad SET informado= 's' WHERE error != 'ARRAY' and id='$id'");                
                echo 
"-------------------------------------------<br>";
            }
            
$sql "SELECT TOP 1000 [TRANSACCION] 
                        FROM dbo.informes"
;
            
/*$query = sqlsrv_query($conn,$sql);
            while( $row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_NUMERIC))
            {    
                echo "ProdID: ".$row[0]."\n";
                echo "UnitPrice: ".$row[3]."\n";
                echo "StockedQty: ".$row[4]."\n";
                echo "-----------------\n";
            }*/
            //print($query);
            

?>


Cómo debo parametrizar? qué es lo qué falla?

Saludos.