Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 12-05-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Hola de nuevo, jeje

Bueno, después de tamto tiempo de hacer algunas pruebas, leer bastante sobre el tema, estoy utilizando todos los objetos de oracle a la perfección desde php.

Solo una acotación, el código de hector es de php 4, php 5 cambio el nombre de algunas funciones.

Mi duda era como gatillar SP Oracle desde ADOdb. aquí dejo el código de cómo llevar a cabo esta tarea.

Código PHP:
function listarClientes(){
// para gatillarlo desde las librerías ADOdb
    
global $db;

    
$prazonsocial = 'serv';
    
$db->AutoCommit = FALSE;
    
$db->SetFetchMode(ADODB_FETCH_ASSOC);
    
$stmt = $db->PrepareSP("BEGIN adm_clientes.Lista(:prazonsocial,:plista); END;");
    
$db->InParameter($stmt, $prazonsocial, 'prazonsocial');
    
$db->OutParameter($stmt, $cur, 'plista', -1, OCI_B_CURSOR);

    
$result = $db->Execute($stmt);

    if (!
$result) {
        die(
'Error');
    }

    while(
$row = $result->FetchRow())
      
$clientes[] = $row;

    return 
$clientes;

} 
Código PHP:
function listarClientes(){
    
//para gatillarlos desde OCI
    
$conn = oci_connect("logisticpoint", "logisticpoint", "pchome");
    
$cursor = oci_new_cursor($conn);

    
$sql = "BEGIN adm_clientes.Lista(:prazonsocial,:plista); END;";
    
$stmt = oci_parse($conn, $sql);

    
oci_bind_by_name($stmt, "prazonsocial", $prazonsocial);
    
oci_bind_by_name($stmt, "plista", $cursor, -1, OCI_B_CURSOR);
    
oci_execute($stmt);
    
oci_execute($cursor);
    
//oci_fetch_assoc($cursor);

    
while ($row = oci_fetch_assoc($cursor))
        
$clientes[] = $row;

    return 
$clientes;
} 
Ahora, otro tema que estuve peliando bastante ya que no encontré información satisfactoria sobre como gatillar SP cuando uno de sus parámetros es de tipo %rowtype, pero acá traigo la solución para que no se quebren la cabeza porque yo ya lo hice...jeje

Código PHP:
function registrarse(){

    
$conn = oci_connect('logisticpoint', 'logisticpoint', 'pchome') or die;

    
$param1 = "Prueba";
    
$param2 = "15/07/2008";
    
$param3 = 55;

    
$sql = "declare pdatos prueba%rowtype;".
      
"begin pdatos.columna1 := :param1;".
      
"pdatos.columna2 := :param2;".
      
"pdatos.columna3 := :param3;".
      
"adm_clientes.registrar(pdatos => pdatos);end;";

   
$sth = oci_parse($conn, $sql);

   
oci_bind_by_name($sth, ":param1", $param1, 10);
   
oci_bind_by_name($sth, ":param2", $param2, 10);
   
oci_bind_by_name($sth, ":param3", $param3, 10);
   
oci_execute($sth);

} 
Esperando que a mas de uno que este trabajando en oracle le pueda servir, como conclusión me he quedado con las instrucciones nativas de php y desatarme de las librerías ADOdb, ya que me parecen que son mucho mas versatil las conexiones nativas OCI....y por asunto de velocidad también...

Gracias a todos por este hilo, hasta el próximo capítulo....

Saludos .-
__________________
No todo es como parece ser...
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Rescatar valor desde Procedimiento Almacenado en Delphi 7 Confucio SQL 3 11-03-2009 01:32:53
Asignar valores a Arrays dinámicos - (migrar datos desde CLIPPER) jplj Varios 14 15-10-2007 11:49:48
ejecutar un query accesando tablas de Oracle desde SQL Server SQL Server MS SQL Server 1 02-03-2007 23:44:18
Como rescatar la version de un programa Micchel Varios 4 30-11-2005 05:40:52
¿Cómo cambiar los valores de VersionInfo desde código? DarKraZY Varios 2 13-01-2004 15:41:29


La franja horaria es GMT +2. Ahora son las 08:48:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi