jueves, 22 de septiembre de 2011

PHP - LINUX - SQL 2008 + EJECUCION DE STORE PROCEDURES AVANZADO

Se requiere la instalacion de LAMPP (xampp-linux-1.7.7.tar.gz)

/opt/lampp/etc/freetds.conf
-------------------------------
[SRV2008R2]
        host = IP
        port = 1433
        tds version = 7.0
-------------------------------

Test de prueba PHP

<?php

ini_set("memory_limit","300M");

set_time_limit(0);

$servidor_sqlserver = 'SRV2008R2';

$bd_sqlserver = 'datact';

$usuario_sqlserver = 'user';

$contrasenia_sqlserver = 'password';

if (!($link_sqlserver=mssql_connect("$servidor_sqlserver","$usuario_sqlserver","$contrasenia_sqlserver")))

{ echo "Error al conectar al servidor SqlServer."; exit();

}

if (!mssql_select_db("$bd_sqlserver",$link_sqlserver))

{ echo "Error seleccionando la base de datos SqlServer."; exit();

}

echo "bd_sqlserver=>".$bd_sqlserver;

$wvalor = "AQUI";

$x1 = 'Nombre A';

$x2 = 'Nombre B';

echo "t2=>".$wvalor;

$v1 = 1;

$v2 = 9;

$v3 = 600.56;

$sql = mssql_init("pa_prueba_06");

mssql_bind($sql, "@nombre", $x1, SQLVARCHAR); // SQLVARCHAR para una cadena de texto variable

mssql_bind($sql, "@nombre2", $x2, SQLVARCHAR); // SQLVARCHAR para una cadena de texto variable

mssql_bind($sql, "@salida", $v3, SQLFLT8, TRUE); // SQLVARCHAR para una cadena de texto variable

$consulta = mssql_execute($sql);

echo "v1=>".$v1."<br>";

echo "v2=>".$v2."<br>";

echo "v3=>".$v3."<br>";

//-----------------------------------------------

$sql_cli="select * from articulos order by id";

$consulta_cli=mssql_query($sql_cli);

$acliente=array();

while($fila_cli=mssql_fetch_assoc($consulta_cli))

{

$acliente[]=$fila_cli;

}

echo "<pre>";

print_r($acliente);

echo "</pre>";

echo "termino";

?>

STORE PROCEDURE 

pa_prueba_06

create Procedure pa_prueba_06
@nombre varchar(50),
@valor numeric (15,2),
@valor1 int ,
@valor2 int ,
@valor3 numeric (15,2) output,
@valor4 numeric (15,2) output,
@texto varchar (100) output
As
BEGIN

set @texto = 'OPERACION: ' + @nombre
set @valor3 = @valor1 * @valor2
set @valor4 = @valor1 * @valor
print @texto
print @valor3
print @valor4
end
go 

No hay comentarios:

Publicar un comentario