Page 3 of 6

PostPosted: Fri Jul 11, 2008 8:20 am
by Biel EA6DD
Hola Paco,
todo lo que pones parece correcto, y en teoria debiera funcionar.
La unidad D: es una unidad local del servidor?
Prueba a ejecutar letodb sin el fichero ini, y saber si por lo menos de esta forma funciona.

Comprueba el fichero letodb.log para ver la descripción del error.

PostPosted: Fri Jul 11, 2008 10:56 am
by Biel EA6DD
Ya que son varios los que me lo habeis pedido, aqui os pongo un fichero .bat y .bc para que podais construir la libreria y el ejecutable del servidor con Harbour(1.0.0RC1)y Borland C 5.5, para versiones anteriores de Harbour no vale, ya que se han renombrado las libreriras. Estos ficheros asumen el compilador de C en C:\Borland\bcc55\bin y Harbour en c:\harbour. Si los tienes así, copia estos dos archhivos en la carpeta donde te has descargado letoDB(desde sourcefourge)y basta con ejecutar make_b6 desde la linea de comandos(Si quieres asegurarte de limpiar copias antiguas, ejecuta primero make_b6 clean).

http://www.ea6dd.com/ftp/bielsys/letodb1/make_b6.bat
http://www.ea6dd.com/ftp/bielsys/letodb1/makefileb6.bc

Por ahora no tengo los ficheros para xHarbour.

PostPosted: Fri Jul 11, 2008 1:42 pm
by jblizama
Hola.

El error...

Error: Unresolved external '_hb_vmProcessSymbolsEx' referenced from C:\XHARBOUR1.1\LIB\RDDLETO.LIB|rddsys

la libreria rddleto.lib esta hecha para harbour no para xharbour.
al compilar con minigui no muestra este error y todo ok.

Use tablas de mas de 2GB y ningun problema, muy rapido en las pruebas que he podido hacer hasta ahora.

Alguien sabe como abrir indices, pues no me resulta...?

Gracias

PostPosted: Fri Jul 11, 2008 3:55 pm
by Francisco Horta
Biel,
Efectivamente la unidad D es un disco local del servidor, ya hice muchas pruebas, quite el .ini utilice tambien la unidad C del servidor, cambie las "/" por "\" ayer nomas no pude echarlo a volar, unicamente enlace la .lib de leto y mi programa, utilizo harbour.
Hice otra prueba, poniendo una dbf y unicamente tratando de abrirla y nada.
Esto tiene el .log
07/10/08 17:39:07: Leto DB Server has been started.
07/10/08 17:40:11: Open error (21-1001): /letodb/prueba1
07/10/08 17:40:48: Open error (21-1001): /letodb/prueba1
07/10/08 17:43:54: Open error (15-1002): \letodb\bases.DBF
07/10/08 17:45:25: Open error (15-1002): /letodb/bases.DBF
07/10/08 18:01:01: Leto DB Server has been started.
07/10/08 18:02:09: Open error (21-1001): c:/letodb/letodb/bases.DBF
07/10/08 18:02:48: Open error (21-1001): c:/letodb/letodb/bases.DBF

JBLIZAMA,
pudieras publicar el codigo de tu prueba?

ALFREDO,
segun por ahi vi ese error es de enlaze de la libreraia FiveHx
http://fivetechsoft.com/forums/search.php?mode=results aqui te dejo algo

A lo mejor me falta algo, seria reconstruir la libreria de nuevo.
Salu2
Paco

PostPosted: Fri Jul 11, 2008 4:10 pm
by Alfredo Arteaga
Gracias Francisto, Biel, etc...

Ya compile la LIB con xHarbour y finalmente pude ejecutar la Prueba1, mas tarde seguiré con otras pruebas.

Codigo

PostPosted: Fri Jul 11, 2008 8:31 pm
by jblizama
Este es el codigo que me responde con error:

"...
LETO/1021 Data type error: -003:21-1003
Called from ORDLISTADD(0)
Called from MAIN(15)
..."

function Main()
local sCodIni, sCodFin
local sTabla := "TABART"
local sServer := "//localhost:2812/"

REQUEST LETO
RDDSETDEFAULT("LETO")

if(Leto_Connect(sServer) == -1)
MsgInfo("ERROR: Al conectar con... "+ sServer); return(nil)
endif

dbusearea(.t.,, sServer + sTabla, sTabla, .T., .T.)
ordlistclear(); ordlistadd((sTabla))

(sTabla)->(dbgotop()); sCodIni := (sTabla)->CODART
(sTabla)->(dbgobottom()); sCodFin := (sTabla)->CODART

MsgInfo(sCodIni +" -> "+ sCodFin)

dbcloseall()
return(nil)


La Tabla "TABART.DBF" tiene un indice "TABART.CDX con cuatro TAG
Sera ese el problema, multiples tag...

Gracias

Solucion Indices

PostPosted: Sat Jul 12, 2008 4:31 pm
by jblizama
Por alguna razon LetoDB no abre el indice si esta en la carpeta raiz definida en letodb.ini, la solucion consiste en poner el archivo indice, en mi caso CDX, en una subcarpeta.

Mi archivo letodb.ini es:

Port=2812
DataPath=c:\letodb\data
Logfile="letodb.log"
Default_Driver=CDX

En la carpeta c:\letodb\data cree dos carpetas hijas “filesdbf” en la que guarde la TABART.DBF y “filescdx” en la que guarde TABART.CDX, luego para abrir la tabla y su respectivo indice:

dbusearea(.t.,, sServer + "/filesdbf/TABART", "TABART",, .t., .t.)
ordlistclear(); ordlistadd("/filescdx/TABART")

tanto en modo consola como modo grafico(GUI)

si se necesita codigo completo...
Saludos.

Pruebas LetoDB

PostPosted: Sat Jul 12, 2008 8:55 pm
by jblizama
Hasta ahora he hecho pruebas con tablas de 3.41GB y 2.3 Millones de Registros, en una intranet con letodb en otro equipo actuando de server..., todo ok.

Saludos

PostPosted: Mon Jul 14, 2008 1:05 pm
by Biel EA6DD
Alfredo , jblizam me alegro que hayais conesguido sacar adelante vuestros problemas, ya nos ireis contando quetal van vuestras pruebas.

Francisco, veo que sigues sin poder usar letoDB. Es estraño, parece un error de path que no encuentra el DBF.
Porque no intentas hacer una prueba, sin fichero letodb.ini crea un dbf con dbcreate, e intenta abrirlo. Esto debiera de funcionarte.
Busca donde te ha creado el dbf, y coloca tus dbf de pruebas y reptie prueba.

Tratando de ayudar

PostPosted: Mon Jul 14, 2008 1:46 pm
by jblizama
Francisco, si continúas con el error…

Mi estructura de carpetas es la siguiente:

c:\letodb
\data
\filesdbf
\filescdx

En la carpeta letodb esta el servidor (letodb.exe)

Fíjate el un post anterior donde anote como es mi archivo letodb.ini y como abrir las tablas.

Correccion

PostPosted: Mon Jul 14, 2008 1:48 pm
by jblizama
La carpeta /data esta bajo c:\letodb
Las carpetas /filescdx y /filesdbf estan bajo la carpeta /data

Saludos

PostPosted: Mon Jul 14, 2008 2:14 pm
by Kleyber
Hola amigos,

Por lo que veo, esta va a ser una buenisima opción para se usar DBFs en un sistema cliente/servidor... Me gustaria saber de ustedes que están probando LetoDB: Cual es su confiabilidad? Es posible hacer un sistema usando ya el LetoDB?

Saludos,

sigo con letodb

PostPosted: Mon Jul 14, 2008 8:43 pm
by Francisco Horta
Hola,

Sigo sin poder echar a volar letodb, ya ora si que no c por donde buscarle, bajo un servido nunca pude echarlo a volar, opte por probarlo en mi pc como localhost, y ooo sopresa, tampoco jala, que estare haciendo mal,
dejo mi informacion

****** ARCHIVO letodb.log
07/14/08 15:18:01: Leto DB Server has been started.
07/14/08 15:21:31: Open error (15-1002): f:\letodb\data\bases.DBF


****** ARCHIVO letodb.ini
Port = 2812
DataPath =f:\letodb\data
Logfile = "letodb.log"
Default_Driver = CDX



****** ARCHIVO sample.prg
#Include "Fivewin.ch"

FUNCTION Main()
LOCAL cServer := '//localhost:2812\'

REQUEST LETO
RDDSETDEFAULT("LETO")

IF Leto_Connect(cServer)==-1
msginfo("no hay conexion con el servidor "+cServer)
return NIL
ELSE
msginfo("Conexion establecida con el servidor "+cServer)
ENDIF

USE "//localhost:2812\bases.DBF"
BROWSE()
USE

RETURN NIL



Como ven esta esto muy sencillo y no funciona :-( alguna pista, adjunto tambien las imagenes de mis carpetas y como tengo la info...

http://img403.imageshack.us/my.php?image=letodb3no9.jpg
url=http://img403.imageshack.us/my.php?image=letodb3cn2.jpg

gracias
salu2
paco

PostPosted: Mon Jul 14, 2008 10:00 pm
by jblizama
Dos apuntes, que me parecen extraños...

1.- el backslash de LOCAL cServer := "//localhost:2812\" reemplazalo por slash quedando:

LOCAL cServer := "//localhost:2812/"

2.- Al abrir la tabla de datos con USE "//localhost:2812\bases.DBF" no me parece la forma correcta, deberia ser:

USE bases

Espero funcione..
Saludos

Correccion

PostPosted: Mon Jul 14, 2008 10:16 pm
by jblizama
Francisco:
Yo estoy acostumbrado a usar funciones de preproceso..., asi que cometi una error en el post anterior.

Lo correcto seria...

dbusearea(.t.,, cServer + "/BASES", "BASES", .t., .t.)


Kleyber:
La verdad esto de LetoDB esta espectacular, por lo menos las pruebas que he hecho me han resultado 100%. Pero no conozco al creador de este server, no tengo referencias de cómo trabaja… y no se si esto llegara a buen puerto, eso si hasta el momento todo 100 puntos...

Saludos