DONDE EJECUTAR LA APLICACION

User avatar
LuisPonce
Posts: 190
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by LuisPonce »

Hola Adrian

Entiendo que corres la aplicación desde tu PC en el servidor, con el acceso directo apuntado al servidor j:\ProvIVA2.exe, si esto es asi entonces corres la aplicación en
el servidor.

La pregunta es como corre tu aplicación, imagino que bien, pero en cuanto a la velocidad de acceso a las tablas?

Para no hacer el mapeo, debemos hacer lo que recomienda Adhemar :

WinExec("Net use \\sphmar\Empresas contraseña /user:usuario /persistent:yes",0)

SET DEFAULT TO \\sphmar\Empresas

excelente por que incrementa la seguridad de nuestros datos, ya no tendríamos una unidad J: donde todos los usuarios tienen acceso, luego correr la aplicación en el PC local

c:\ProvIVA2.exe

y que lea los datos desde la unidad definida por WinExec(), que apunta al servidor

Cual resulta ser mas veloz, al manipular la información del servidor ?
Last edited by LuisPonce on Tue Jul 21, 2015 5:03 pm, edited 1 time in total.
Luis Ponce
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: DONDE EJECUTAR LA APLICACION

Post by carlos vargas »

Para eliminar la posibilidad de que se elimine info en carpetas compartidas se tienen las sig altenativas
Dbf
------
Ads server (comprado)
Leto server (gratis)
Netio (gratis)
Estos usa conexion por purtos (socket) eliminando las carpetas compartidas.
No dbf
-------
Ado
Dolphin
Sqlrdd (comprada)
Adordd
Sqlmix
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
ACC69
Posts: 619
Joined: Tue Dec 12, 2006 7:34 pm
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by ACC69 »

LuisPonce wrote:Hola Adrian

Entiendo que corres la aplicación desde tu PC en el servidor, con el acceso directo apuntado al servidor j:\ProvIVA2.exe, si esto es asi entonces corres la aplicación en
el servidor.

La pregunta es como corre tu aplicación, imagino que bien, pero en cuanto a la velocidad de acceso a las tablas?

Para no hacer el mapeo, debemos hacer lo que recomienda Adhemar :

WinExec("Net use \\sphmar\Empresas contraseña /user:usuario /persistent:yes",0)

SET DEFAULT TO \\sphmar\Empresas

excelente x que incrementa la seguridad de nuestros datos, ya no tendríamos una unidad J: donde todos los usuarios tienen acceso, luego correr la aplicación en el PC local

c:\ProvIVA2.exe

y que lea los datos desde la unidad definida x WinExec(), que apunta al servidor

Cual resulta mas veloz, al manipular la información del servidor ?
Hola buenos dias Luis Ponce, gracias por tu tiempo, estando en el servidor ejecuta rapido la aplicacion y sin ningun problema con las bases de datos,al igual estando en el modulo de captura de movimientos, abre veloz los registros en xBrowse... y estando en cada estacion de trabajo ,es minima la diferencia la lentitud que casi no se nota, ya que yo evito estar usando SET FILTER TO...eso me ocasionaba lentitud en cada estacion de trabajo del usuario asi como en el servidor, ahora todos en cada modulo, uso indices .cdx y en la captura OrdScope(), solo hay uno que no he dado con la solucion es con los reportes de movimientos auxiliares contables,que tengo varios indices ,pero me resulta lento por el filtro que hago,no me refiero al comando SET FILTER TO, sino lo que se pide a filtrar en mi reporte y no he tenido tiempo de mejorarla,pero bueno es otro rollo,que espero darme mi tiempo y ver que solucion darle a mi reporte.

En todos los sistemas instalado en el servidor, y ejecutar desde cada estacion de trabajo, siempre sera lento...te comento porque tenemos tres sistemas de paga, de compac i, Contabilidad, facturacion electronica,sistemas de nomina, en cada estacion de trabajo, la lentitud es minima y mi sistema operativo del servidor es windows 8 server,memoria ram de 8 GB....y es como en todos los sistemas por muy buena aplicacion que tengas, la lentitud sera minima en cada estacion.

Otra duda respecto a esta instruccion de comando.
SET DEFAULT TO \\sphmar\Empresas

En mi sistema puedo llamarle por ejemplo:

USE RUTA.DBF y dentro de la base de datos el campo UBICARUTA

cRuta := RUTA->UBICARUTA

SET DEFAULT TO cRuta

Pero me marcara error, por no encontrar la tabla ruta.dbf antes de abrir la ruta \\sphmar\Empresas ???

O como lo hace Adhemar en su sistema de aplicacion ,para que me quede mas claro y modificar mi codigo .

Saludos y gracias pro tu tiempo Luis Ponce.

Atte: Adrian C. C.
Last edited by ACC69 on Tue Jul 21, 2015 2:48 pm, edited 1 time in total.
ACC69
Posts: 619
Joined: Tue Dec 12, 2006 7:34 pm
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by ACC69 »

carlos vargas wrote:Para eliminar la posibilidad de que se elimine info en carpetas compartidas se tienen las sig altenativas
Dbf
------
Ads server (comprado)
Leto server (gratis)
Netio (gratis)
Estos usa conexion por purtos (socket) eliminando las carpetas compartidas.
No dbf
-------
Ado
Dolphin
Sqlrdd (comprada)
Adordd
Sqlmix

Gracias Carlos Vargas, he estado migrando en TDholpin ,pero me quede atorado en algunas cosillas, que ya luego le continuo migrando, gracias por tu tiempo amigo.

Saludos .

Atte: Adrian C. C.
User avatar
LuisPonce
Posts: 190
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by LuisPonce »

Adrian C.C.

Se me ocurre que:

SET DEFAULT TO &cRuta
Last edited by LuisPonce on Tue Jul 21, 2015 5:22 pm, edited 1 time in total.
Luis Ponce
hmpaquito
Posts: 1200
Joined: Thu Oct 30, 2008 2:37 pm

Re: DONDE EJECUTAR LA APLICACION

Post by hmpaquito »

ACC69 wrote:En mi sistema puedo llamarle por ejemplo:

USE RUTA.DBF y dentro de la base de datos el campo UBICARUTA

cRuta := RUTA->UBICARUTA

SET DEFAULT TO cRuta

Pero me marcara error, por no encontrar la tabla ruta.dbf antes de abrir la ruta \\sphmar\Empresas ???
En ese caso hay dos opciones.
1. Que la ruta este de forma fija en el propio exe.
2. Que este contenida en un archivo.

Yo utilizo el 2. Lo que hago es tener un archivo de texto que contiene la ruta de los datos en la misma carpeta donde esta el .exe. Se puede utilizar tambien un archivo .ini. Tambien se podria hacer que el archivo se llame como el .exe por si hubiera varios .exes que accedieran a distintas carpetas. Ejemplo, si el programa es Lentejuelas.exe, el archivo de configuracion se llamaria Lentejuelas.Rutas o Lentejuelas.ini.


Ahora pregunto yo. Los compañeros hablan de usar el NET USE para poder acceder sin tener que compartir. ¿ No habrá vulnerabilidad en los datos el tiempo en que el programa está abierto porque el NET USE está vigente ?
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: DONDE EJECUTAR LA APLICACION

Post by acuellar »

Lo mejor es migrar a MariaDB/MySql y usar TDolphin, pero mientras tengamos alguno sistemas con dbfs para mi la forma mas segura es usando NET USE.

El EXE lo ejecutamos desde la PC del usuario, para actualizarlo colocamos el nuevo EXE en una carpeta compartida y preguntamos si la fecha del nuevo EXE es mayor reemplazamos el que se está ejecutando.

Así:

Code: Select all

  ExeOn:=hb_CurDrive()+":\"+CURDIR()+"\CONTAB.EXE"
  ExeNew:="\\COMPARTIDA\CONTAB.EXE"
  FecExeOn:=dToS(FILEDATE(ExeOn))
   FecExeNew:=dToS(FILEDATE(ExeNew))
 IF FecExeNew > FecExeOn 
        DBRENAME ("CONTAB.EXE","CONTAB.EX")  //RENOMBRAMOS EL EXE
       COPYFILE( ExeNew,ExeOn )
       WinExec(ExeOn) 
       Quit
 Endif
Esto colocar al comienzo del sistema, para que lo actualice.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by Armando »

Adhemar:

En principio estoy de acuerdo en que debemos pensar en SQL (MySql, SqlServer o MariaDB,
Cliente/Servidor) en donde no estoy de acuerdo es en que lo mejor es TDolphin, OJO no estoy
diciendo que TDolphin sea malo, noooo, todo lo contrario, Es un excelente trabajo, mi opinión
es que para aplicaciones que ya están hechas en DBF y urge pasarlas a SQL, lo mejor es TDolphin
pero para aplicaciones nuevas lo mejor es irse directo por ADO, total solo hay que aprender
como 7 comandos, y ahí TDolphin nos ha hecho apáticos para aprenderlos (sin ofender)

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Willi Quintana
Posts: 859
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by Willi Quintana »

HOla amigos...
Uso TDolphin desde casi un principio, siempre he usado el modo "directo", con aplicaciones desde "cero", y funciona perfectamente...
•CREATE DATABASE,
•DROP DATABASE
•CREATE TABLE
•ALTER TABLE
•DROP TABLE
•SELECT
•INSERT
•UPDATE
•DELETE
•REPLACE
•TRUNCATE
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by jnavas »

Luis
Saludos cordiales

Desarrolle una aplicacion en clipper para DOS y para ganar rendimiento el programa binario se instala en el PC local y instalar guardaba en un archivo DRIVE.MEM la ruta en donde se encuentran las tablas, logrando asi mejorar el rendimiento del sistema.

Otra recomendacion es: Establecer READOLNY el programa binario en la red, se ejecuta más rapido,
User avatar
TecniSoftware
Posts: 213
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: DONDE EJECUTAR LA APLICACION

Post by TecniSoftware »

En una época guardaba los ejecutables del sistema en cada pc pero luego comencé a guardarlos en el servidor mas que nada por el tema de las actualizaciones del software ya que con esto evito que cada pc tenga que estar actualizando en forma separada y que quepa la posibilidad que una pc este trabajando con una versión y en otra, con otra versión con los problemas que puede llegar a ocasionar. En cuanto a velocidad, el exe tarda apenas un poquito mas en levantar pero después prácticamente no veo la diferencia.

Saludos
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
Maggiro
Posts: 76
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU
Contact:

Re: DONDE EJECUTAR LA APLICACION

Post by Maggiro »

Luis Ponce:

Tu forma de trabajo ejecutando desde el servidor es la correcta ...

No te preocupes por el problema de velocidad que hace tiempo ha sido solucionado
por computadoras y sistemas operativos mas veloces y potentes que antes.
El hardware no es lo nuestro como programadores.

Lo que si debes tener muy en cuenta es el tamaño de tu EXE, mientras mas compacto sea
carga y corre mas veloz, para eso, tu entorno de programacion te tiene que ayudar cargando
unicamente lo que tu EXE necesita para ser construido.
Esta si es tarea dura pues tendrás que depurar opciones no utiles para tu desarrollo en las
classes o funciones de tus herramientas en aras de un mejor EXE.

Otro aspecto a considerar ... La seguridad, Backups diarios al cerrar tu sistema en el servidor,
hacia una unidad hard disk no compartida. De hecho tu servidor no puede tener un solo disco duro. Lo peor que puedes perder es ... un dia de trabajo.

Adelante !!

Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
Post Reply