Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Base de datos remota IP PUBLICA

buenas noches

tengo un amigo que tiene una ip publica y dentro tiene una base de datos, hice una prueba usando php
Código PHP:
<?php
$link 
mysqli_connect("IP PUBLICA""usuario""clave"'database');

//var_dump($link);

/* comprobar la conexión */
echo "conectando";
if (
mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
    }

/* Consultas de selección que devuelven un conjunto de resultados */
if ($resultado mysqli_query($link"SELECT * FROM prueba")) {
    
//printf("La selección devolvió %d filas.\n", mysqli_num_rows($resultado));
    //var_dump($resultado);

    /* liberar el conjunto de resultados */
  
foreach($resultado as $p){ ?>
    <tr>
        <td><?=$p['codigo']?></td>
        <td><?=$p['periodo']?></td>
        <td><?=$p['fecha']?></td>
        <td><?=$p['opcion']?></td>
        <br>
    </tr>
    <?php
   

    
//mysqli_free_result($resultado);
}
}


mysqli_close($link);
?>

y me muestra los resultados
eso mismo quisiera hacer en delphi, uso la version xe7

alguien me da una idea de como hacerlo?

mientras seguire investigando

he leido sobre el uso de WebService, pero la pregunta seria como colgar el webservice en la ip publica?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 29-02-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
actualizacion

ya logre postear el webservice en la Ip Publica
he creado 2 archivos

wsServidor.php
wsBaseDatos.php


wsServidor
Código PHP:
<?php

include_once('wsBaseDatos.php');
include_once(
'nusoap.php');

$wsBD = new wsBaseDatos;

$servidor= new soap_server;
$servidor->register("ObtenerDatos");
if( !isset(
$HTTP_RAW_POST_DATA)){
    
$HTTP_RAW_POST_DATA file_get_contents("php://input");
}
$servidor->service($HTTP_RAW_POST_DATA);

function 
ObtenerDatos($cod$periodo){
    global 
$wsBD;
    
$sql="select * from prueba where codigo = $cod and periodo = $periodo";
    
$rpta=$wsBD->consultar($sql);
    return 
json_encode($rpta);
    }

?>
wsBaseDatos.php
Código PHP:
<?php

class wsBaseDatos{
    private 
$cnx=null;
    
#==================
    
private function conectar(){
        
$this->cnx=mysqli_connect('IPPUBLICA','usuario','clave','base de datos','puerto');
        
mysqli_query($this->cnx,"set names utf-8");
    }
    
#==================
    
public function consultar($sql){
        
$this->conectar();
        
$rpta=mysqli_query($this->cnx,$sql);
        
        if(
mysqli_num_rows($rpta)>0){
            while(
$f=mysqli_fetch_assoc($rpta)){
                
$salida[]=$f;
            }
        }else{
            
$salida=array();
        }
        
$this->desconectar();
        return 
$salida;
    }
    
#==================
    
function ejecutar($sql){
        
$this->conectar();
        
$exito=mysqli_query($this->cnx,$sql);
        
$this->desconectar();
        if(
$exito==or $exito==true){
            return 
1;
        }else{
            return 
0;
        }
    }
    
#==================
    
private function desconectar(){
        
mysqli_close($this->cnx);
    }
    
#==================
}


?>
ya me funciona via php

pero cuando quiero importar la wsdl en delphi me sale un error que dice


Unable to Load WSDL file/Location http://ippublica/wsServidor.php?wsdl

la verdad no recuerdo mis clases de php como se hacia esto, es decir acceder al web service y q muestre el XML como contenido

alguien me da una mano?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 29-02-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
actualizacion


ya me acorde que tenia que registrar las funciones asi

Código PHP:
$server=new soap_server;
$server->configureWSDL("Descripcion WS","urn:informacion_ws01");

$server->register("ObtenerDatos",
                    array(
'cod'=>'xsd:string','periodo'=>'xsd:string'), //entrada
                    
array('return'=>'xsd:string'), //respuesta
                    
'urn:info00'//namespace
                    
'urn:info00#ObtenerDatos'//accion
                    
'rpc'// estilo
                    
'encoded'//uso
                    
'Texto Descriptivo 03'
                    
); 
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 29-02-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
me guié de este tutorial

https://neftali.clubdelphi.com/35-ge...ice-en-delphi/

la verdad que el tema era mas sencillo de lo que parece, utilice los componentes SOAP

gracias de todas formas por su atencion
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta



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
Conexión a base de datos remota martinzcr Firebird e Interbase 3 27-08-2007 19:46:00
Conexion remota a Base de datos jorelivi Servers 1 22-06-2007 22:50:11
Conectar a una base de datos remota dec Trucos 4 17-10-2006 03:39:56
Enviar Mensaje a una IP Publica(Remota) AGAG4 Internet 0 25-10-2004 21:49:41
Contectar con base de datos remota sonjeux Internet 2 16-07-2004 20:33:21


La franja horaria es GMT +2. Ahora son las 13:58:11.


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