FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DONDE EJECUTAR LA APLICACION
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 04:41 AM

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 ?

Luis Ponce
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 12:56 PM

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)
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 02:42 PM
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.
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 02:45 PM
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.
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 05:01 PM

Adrian C.C.

Se me ocurre que:

SET DEFAULT TO &cRuta

Luis Ponce
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 05:18 PM
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 ?
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 07:51 PM
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 (fw): Select all Collapse
  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.
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Tue Jul 21, 2015 10:10 PM

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
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Thu Jul 23, 2015 04:16 AM

HOla amigos...
Uso TDolphin desde casi un principio, siempre he usado el modo "directo", con aplicaciones desde "cero", y funciona perfectamente...
鈥REATE DATABASE,
鈥ROP DATABASE
鈥REATE TABLE
鈥LTER TABLE
鈥ROP TABLE
鈥ELECT
鈥NSERT
鈥PDATE
鈥ELETE
鈥EPLACE
鈥RUNCATE

Posts: 492
Joined: Wed Nov 16, 2005 12:03 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Thu Jul 23, 2015 10:25 AM

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,

Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: DONDE EJECUTAR LA APLICACION
Posted: Thu Jul 23, 2015 01:22 PM

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
Posts: 85
Joined: Thu Oct 14, 2010 03:26 AM
Re: DONDE EJECUTAR LA APLICACION
Posted: Fri Sep 04, 2015 04:16 PM

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煤

Continue the discussion