Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
Copiar DataSnap server a otra PC

Hola gente. Estoy desrrollando una app que usa una base de datos firebird, conectado con datasnap. En la PC donde fue desarrollada la aplicacion anda perfectamente. Pero me sucede que al intentar correr el archivo "DNserver.exe" en otra computadora no conecta con la base de datos. Podrian guiarme por donde puede estar el error, o lo que tengo que hacer?
Estube leyendo sobre agregas las dll. a la pc destino, pero a pesar de mis intentos no hubo exito.
Responder Con Cita
  #2  
Antiguo 25-09-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Te aconsejo nuestra guía de estilo, saludos.
Responder Con Cita
  #3  
Antiguo 26-09-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
mis disculpas si no supe preguntar o es confuso.
si es por duplicar, he buscado el tema y no existe, al menos como he hecho las busquedas.
Responder Con Cita
  #4  
Antiguo 26-09-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Podrías decirnos que error te sale exactamente ???

Podría ser el antivirus ?? o el cortafuegos ?? Algún problema con el puerto ??

Saludos
Responder Con Cita
  #5  
Antiguo 26-09-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Estaría saber qué DLL's has copiado.
¿Has probado a connectar desde el PC usando algunas de las herramientas para Firebird? Para saber si el único que no conecta es el Server o no conecta nadie.
El error que te da, tal como comentan los compañeros, también estaría bien saberlo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 26-09-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
Muchas gracias por responder... con sus respuestas me guian para seguir probando.


las dos computadoras (32 bits) tienen el mismo servidor firebird 2.5. instalado y corriendo.

las aplicaciones "VCL form 32 bits" conectan a la misma base de datos sin problemas desde ambas PC.
el problema lo tengo al conectar el movil con el servidor datasnap (copiado a la pc sin delphi instalado)
y no me da ningun error y es lo que me llama la atención


recuerden que no puedo correr el debug ya que en la pc (con delphi) si funciona.



bien, inicia correcto el DSserver (agregue unos label para que me indique por donde pasa...).
creo que el error esta en el TSQLconnection (server method) por que agregue un contador en el evento beforeconnect y hace los intentos pero no se envia datos al celular.
y nunca llega al evento after connect tambien cargue unos labels.

agregue en uses todos las librerias que encontre en la web. midas, las de dbexpress y las winapi

agregue unos dll (en la carpeta del exe, en system 32 y wow64) (me falta en la papelera de reciclaje :') :') :') ) que tambien estuve leyendo: midas, fbclient, dbxfb.

antivirus y firewall desactivados.

de nuevo agradezco mucho su ayuda...
Responder Con Cita
  #7  
Antiguo 26-09-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Carlos Lopez Ver Mensaje
agregue en uses todos las librerias que encontre en la web. midas, las de dbexpress y las winapi
agregue unos dll (en la carpeta del exe, en system 32 y wow64) (me falta en la papelera de reciclaje :') :') :') ) que tambien estuve leyendo: midas, fbclient, dbxfb.
Es que así no se hacen las cosas, hay que ir paso a paso, uno a uno, anotando lo que se hace, el resultado que da. Dejarlo como estaba si no funciona. Y volver a empezar con otro paso...
De esa forma puedes hacer miles de cosas distintas y jamás vas a saber cuál es el problema, suponiendo que se solucione por casualidad.
Responder Con Cita
  #8  
Antiguo 26-09-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
buenas tardes casimiro muchas gracias por responder.


todas las modificaciones fueron hechas paso a paso, segun las fui encontrando en la red.
De hecho creo versiones de cada una en carpetas deferentes por si se rompe todo.



appmovil_v1 - midas
appmovil_v2 - dbexpress
appmovil_v3 - las dos anterioes combinadas.
y asi... hasta la v17 que estoy ahora

todos los dll y uses que fui agregando llegaban las mismo punto

entrar al beforeconnect del sqlconnection
y nunca llega al afterconnect

llegue a un comentario que habla de las versiones de las librerias dbclient, y dbxfb.
voy a verificar y ver si es eso (aunque usé el mismo instaldor de firebird server para ambas computadoras)

Última edición por Carlos Lopez fecha: 26-09-2018 a las 20:45:40. Razón: encontre algo diferente.
Responder Con Cita
  #9  
Antiguo 26-09-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bien hecho, entonces.
Yo probaría a hacer un proyecto simple de pruebas, un simple botón que conecte y punto. A ver si así funciona.
Responder Con Cita
  #10  
Antiguo 27-09-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
Buenas.
Hice una app que me de alguna señal de vida al iniciar el servicio dsserver

Al iniciar el componente indi responde al IP del servidor y funciona bien.
Pero necesito que funcione con la base de datos y ahí estoy perdido.



No se o no entiendo que hace delphi con su ejecutable.

Que hace que no funcione en otra pc.


No puede ser que tenga que instalar delphi en todos los servidores
Responder Con Cita
  #11  
Antiguo 27-09-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El problema, al igual que te han preguntado otros compañeros, es que no sabemos exactamente qué haces ni qué problema tienes, errores, código, etc...
Falta información clara.
Responder Con Cita
  #12  
Antiguo 02-10-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
buenas tardes. gracias a todos los colaboran con el problema que tengo,

agrego el codigo de la aplicacion servidor, a ver si se ilumina el caino.


como dije antes en la app del celular ni en la aplicacion, no me figura ningun error, solo no muestra nada en la grilla del celular.



unit ServerMethodsUnit1;

interface

uses System.SysUtils, System.Classes, System.Json,
DataSnap.DSProviderDataModuleAdapter,
Datasnap.DSServer, Datasnap.DSAuth, Data.DBXFirebird, Data.FMTBcd,
Datasnap.Provider, Data.DB, Data.SqlExpr,
// librerias de testeo
winapi.windows, datasnap.dsconnect, datasnap.dbclient, midaslib, midas;

type
TServerMethods1 = class(TDSServerModule)
coneccion: TSQLConnection;
itemactivo: TSQLDataSet;
itemactivoDSP: TDataSetProvider;
procedure coneccionBeforeConnect(Sender: TObject);
procedure coneccionAfterConnect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function EchoString(Value: string): string;
function ReverseString(Value: string): string;
function editarconecciontype(): integer;
end;

var

implementation

{$R *.dfm}

uses System.StrUtils, principalfrmdn;

function TServerMethods1.EchoString(Value: string): string;
begin
Result := Value;
end;

function TServerMethods1.ReverseString(Value: string): string;
begin
Result := System.StrUtils.ReverseString(Value);
end;

// ----------------------- mis agregados ------------------------------

procedure TServerMethods1.coneccionAfterConnect(Sender: TObject);
begin
principal.labelestado.Caption := principal.labelestado.Caption + ' - OK';
end;

procedure TServerMethods1.coneccionBeforeConnect(Sender: TObject);
begin
editarconecciontype;
end;

function TServerMethods1.editarconecciontype() :integer;
begin
inc(contador);
principal.pathbd.Caption := coneccion.Params.Values['Database']+' -> '+ IntToStr(contador);
end;

end.


unit ServerContainerUnit1;

interface

uses System.SysUtils, System.Classes,
Datasnap.DSTCPServerTransport,
Datasnap.DSServer, Datasnap.DSCommonServer,
IPPeerServer, IPPeerAPI, Datasnap.DSAuth,
// librerias de testeo
winapi.windows, Data.SqlExpr, Datasnap.Provider, datasnap.dsconnect, datasnap.dbclient, midaslib, midas;

type
TServerContainer1 = class(TDataModule)
DSServer1: TDSServer;
DSTCPServerTransport1: TDSTCPServerTransport;
DSServerClass1: TDSServerClass;
procedure DSServerClass1GetClass(DSServerClass: TDSServerClass;
var PersistentClass: TPersistentClass);
private
{ Private declarations }
public
end;

var
ServerContainer1: TServerContainer1;

implementation

{$R *.dfm}

uses
ServerMethodsUnit1;

procedure TServerContainer1.DSServerClass1GetClass(
DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass);
begin
PersistentClass := ServerMethodsUnit1.TServerMethods1;
end;

end.





unit principalfrmdn;

interface

uses Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.StdCtrls, WinSock, Data.DB, Data.SqlExpr, Vcl.ExtCtrls,
// librerias de testeo
winapi.windows, Datasnap.Provider, datasnap.dsconnect, datasnap.dbclient, midaslib, midas;

type
Tprincipal = class(TForm)
labeltitulo: TLabel;
labelestado:TLabel;
pathbd: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;

var
principal: Tprincipal;
contador : integer;

implementation

uses ServerMethodsunit1, servercontainerunit1;

{$R *.dfm}

end.




itemactivoDSP.DataSet = itemactivo


itemactivo.SQLConnection = coneccion
itemactivo.CommandText = 'Select * From item where item.activo like 0'



coneccion.Driver = 'firebird'
Responder Con Cita
  #13  
Antiguo 03-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración

Y recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #14  
Antiguo 03-10-2018
Carlos Lopez Carlos Lopez is offline
Registrado
NULL
 
Registrado: sep 2018
Posts: 7
Poder: 0
Carlos Lopez Va por buen camino
Buenas dias.


Pese a mis intentos mas ferreos no pude lograr que funcione y ya me decepcioné.
Pero una solucion que me recomendaron por otros foros fue que intente con otros componentes de manejo de base de datos firebird.
Buscando por todos lados se evidencia que (aparentemente) fireDAC no necesita el cúmulo de drivers que necesita dbexpress. No se si es asi pero...

reemplace los componentes dbexpress por FireDAC
... y salio funcionando como debia hacerlo, al grito de "Eureka" como si hubiese descubierto algo.


segun opiones de otros medios mi problema con dbexpress puede ser la incompatibilidad con los drivers. (copie los mismo dll a todas las maquinas donde intenté pero bueno).

En algun otro momento con mas tiempo intentare probar otras versiones para ver si logro conectar con dbexpress.


Agradezco el tiempo y la sabiduría que me han ofrecido, y pido disculpas por las fallas cometidas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Como hago un DataSnap Server rmeckbell Conexión con bases de datos 3 31-08-2017 17:02:44
Coneccion con un DataSnap server lbidi PHP 0 19-05-2016 20:45:29
Enviar parametros por web a un server datasnap lbidi Internet 2 19-07-2015 01:22:48
Datasnap Rest Server dison Desarrollo en Delphi para Android 3 16-05-2014 10:48:44
datasnap para sql server??? _CALI Conexión con bases de datos 5 25-04-2011 19:49:04


La franja horaria es GMT +2. Ahora son las 18:44:47.


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