FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error DBFCDX/1025 Escritura no autorizada
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Mon Oct 29, 2007 08:54 PM

jose,

revisa los permisos sobre los archivos y carpetas, otra, crea una dbf nueva en blacno y agregale los registros de la anterior y prueba usando la nueva
salu2
paco

____________________

Paco
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Mon Oct 29, 2007 09:13 PM

Joao, Carlos, Patricio, Willi, RenOmaS, Antonio, Jacgsoft, Francisco

Gracias por sus respuestas, no se como agradecer la forma en que siempre los compañeros del foro están dispuestos a dar de su tiempo para ayudarme, probaré las últimas sugerencias y luego les cuento.

Muchas gracias :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 02:28 AM

Gracias por toda la ayuda que me están dando y las sugerencias!!!

1) Verifiqué que carpetas y archivos no tuvieran atributo solo lectura u oculto.

2) Borré los CDX y los regeneré

3) Reparé las bases con Advance DBF Repair y para mayor seguridad luego creé bases de igual estructura y les di un append from utilizando estas como bases.

4) Cree nueva estructura de directorios y transferí los archivos a la nueva estructura, recompilé el ejecutable y la dll.

... Caballeros, sigo en la misma...

Gracias nuevamente por toda la ayuda y buena fe que han puesto para ayudarme, seguiré buscando la solución y si la encuentro prometo reportarla para que no les suceda.

Se siguen recibiendo sugerencias... que ciertamente son todas agradecidas y probadas :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 03:59 AM

Jose, a mi me paso algo parecido, y el problema era los niveles de seguridad de escritura de windows XP, si estas en red, verifica los niveles permitido al usuario con que te conectas o entra como administrador, tu codigo aparentemente esta bien, para evaluar el nivel del usuario, bajo DOS trate de crear una carpeta en el directorio donde estan tud DBF o crea un archivo .txt y trata salvarlo.... no solo FWH esta en interaccion, recuerda que se esta bajo un WINDOWS que controla niveles de seguridad y escritura... ojala pueda ayudarte mi observacion...saludos... que bueno es saber como se abocan todos para ayudarnos uno a los otros.. :wink: sin ningun interes.

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 04:49 AM

Hola Jose

No indicas si el archivo lo accesas de forma local o por red, pero coincido con Jose Luis, en caso que sea por red,checa que activaste la opcion de :
- Permitir que los usuarios modifiquen los archivos, al momento de crear tu unidad de red.
Ya que si no, los archivos los abriras como solo lectura.

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 10:34 AM
Raymundo Islas M. wrote:Hola Jose

No indicas si el archivo lo accesas de forma local o por red, pero coincido con Jose Luis, en caso que sea por red,checa que activaste la opcion de :
- Permitir que los usuarios modifiquen los archivos, al momento de crear tu unidad de red.
Ya que si no, los archivos los abriras como solo lectura.

Saludos


El programa está en mi equipo de trabajo, que no está en red.

Probé la aplicación en otra máquina (la del cliente) y tengo el mismo problema, si bien esta está en red, lo probé en una carpeta no compartida.

Sigo investigando......

Muchas Gracias Ray por tu respuesta.
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 10:43 AM

José,

Podrías proporcionar un ejemplo pequeño y autocontenido que reproduzca el error ? gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 04:13 PM
Antonio Linares wrote:José,

Podrías proporcionar un ejemplo pequeño y autocontenido que reproduzca el error ? gracias


Gracias por tu respuesta, procuraré elaborar uno a la brevedad.
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 06:13 PM

Exacto Jose,,

un pedazo de codigo mas completo,

para poder nosotros aplicar tu logica,,

usas ADS local ?

saludos..

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 07:01 PM

jose, si pudieras subir un exe o enviarmelo con ese pequeño ejemplo para reproducirlo en mi pc a ver si aca jala bien.
salu2
paco

____________________

Paco
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Tue Oct 30, 2007 08:22 PM

Sube a algun servidor de descargar la rutina con la dbf a ver que podemos hacer, se que encontraremos respuesta logica, la pregunta de las mil lochas, te sucede eso en todas las DBF o solo los que usa esa rutina..?

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Thu Nov 01, 2007 08:03 PM
joseluisysturiz wrote:Sube a algun servidor de descargar la rutina con la dbf a ver que podemos hacer, se que encontraremos respuesta logica, la pregunta de las mil lochas, te sucede eso en todas las DBF o solo los que usa esa rutina..?


Esta rutina usa exclusivamente estas dos bases.

Adjunto ahora un zip con un pequeño ejemplo que reproduce el error, utilicé y puse la rutina de apertura de archivos para que no haya dudas cuando revisen el código.

Al compilarla da el mismo error 1025.

http://www.mediafire.com/?dbafynn2nyb

Apreciaré cualquier ayuda, y sobre todo espero no sea otra de esas tonterías que uno no ve por cansancio o sino me voy a tener que internar en terapia de sueño. :-)

Gracias desde ya por todo el apoyo que me han dado :-)
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Solucionado
Posted: Fri Nov 02, 2007 12:06 AM

El error esta al abrir las DBFs, pueba asi:

include "Fivewin.ch"

FUNCTION MAIN()
LOCAL nCta, wMonto, wFecha_ven
REQUEST DBFCDX
RddSetDefault("DBFCDX")
nCta="1212"
wmonto=120
wFecha_Ven=Ctod("20/01/2006")
CreoIndices()
ModCta( ncta, wmonto, wFecha_Ven )
RETURN NIL

Function ModCta( ncta, wmonto, wfecha_ven )
local nSaldo //1-Actualizo saldo en bancos.dbf
MsgInfo(wmonto)
IF wmonto = 0
RETURN nil
ENDIF
//IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
// MsgInfo("No fu posible verificar cuenta" + CRLF + "Base de datos no disponible")
// RETURN .F.
//ENDIF
USE BANCOS ALIAS BANCOS SHARED NEW
SET INDEX TO BANCOS
If FLOCK()
browse()
EndIf
BANCOS->( DbSeek(ncta, .f.) )
IF BANCOS->( Found() )
// DO WHILE .T.
// IF BANCOS->( DbRLock() )
nSaldo := BANCOS->saldo + wmonto
? _field->saldo
_field->saldo := nSaldo
BANCOS->( DbCommit() )
BANCOS->( DbUnlock() )
// EXIT
// ENDIF
// ENDDO
ENDIF
BANCOS->( DbCloseArea() )
//2-Cargo el monto de movimientos en el saldo de la fecha correspondiente en saldos.dbf
// IF !AbroDbf( .T., "DBFCDX", "SALDOS", "SALDOS", "i_Saldos")
// MsgInfo("No fu posible verificar cuenta" + CRLF + "Base de datos no disponible")
// RETURN .F.
// ENDIF

USE SALDOS ALIAS SALDOS SHARED NEW
SET INDEX TO SALDOS

SALDOS->( DbSeek( ncta+Dtos(wfecha_ven), .t. ) ) //softseek
IF ! SALDOS->( Eof() ) .and. SALDOS->cta = ncta .and. SALDOS->fecha = wfecha_ven
    DO WHILE  .t.
        IF SALDOS->( DbRLock() )
            REPLACE SALDOS->saldo WITH SALDOS->saldo + wmonto
            SALDOS->( DbCommit() )
            SALDOS->( DbUnlock() )
            EXIT
        ENDIF
    ENDDO
ELSE
    SALDOS->( DbSkip( -1 ) )
    IF ! SALDOS->( Bof() ) .and. SALDOS->cta = ncta
        sald_ant = SALDOS->saldo
        DO WHILE .t.
            IF SALDOS-> ( DbRLock() )
                SALDOS->( DbAppend() )
                IF ! SALDOS->( Neterr() )
                    REPLACE SALDOS->cta   WITH ncta
                    REPLACE SALDOS->fecha WITH wfecha
                    REPLACE SALDOS->saldo WITH sald_ant+wmonto
                    SALDOS->( DBCommit() )
                    SALDOS->( DbUnlock() )
                    EXIT
                ENDIF
            ENDIF
        ENDDO
    ELSE
        DO WHILE .t.
            SALDOS->( DbAppend() )
            IF ! SALDOS->( Neterr() )
                REPLACE SALDOS->cta   WITH ncta
                REPLACE SALDOS->fecha WITH wfecha_ven
                REPLACE SALDOS->saldo WITH wmonto
                SALDOS->( DbCommit() )
                SALDOS->( DBUnlock() )
                EXIT
            ENDIF
        ENDDO
    ENDIF
ENDIF
//3-Actualizo todos los saldos de la cuenta desde la fecha del movimiento incrementndolos
//en ese monto (siempre en saldos.dbf).
SALDOS->( DbSkip() )
DO WHILE ! SALDOS->( Eof() ) .and. SALDOS->cta = ncta
    DO WHILE .t.
        IF SALDOS->( DbRLock() )
            REPLACE SALDOS->saldo WITH SALDOS->saldo + wmonto
            SALDOS->( DbCommit() )
            SALDOS->( DBUnlock() )
            EXIT
        ENDIF
    ENDDO
    SALDOS->( DbSkip() )
ENDDO
SALDOS->( DbCloseArea() )
//verifico que anduvo

// IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
// MsgInfo("No fu posible verificar cuenta" + CRLF + "Base de datos no disponible")
// RETURN .F.
// ENDIF

USE BANCOS ALIAS BANCOS SHARED NEW
SET INDEX TO BANCOS

SELECT BANCOS
BANCOS->( DbSeek(ncta, .f.) )
MsgInfo(BANCOS->Saldo)
CLOSE DATABASES

RETURN .T.
/Fin Funcin ModCta
-------------------------------------------------------------------------------------------
/
FUNCTION CreoIndices()
IF FILE("SALDOS.CDX")
ERASE "SALDOS.CDX"
ENDIF
IF FILE("BANCOS.CDX")
ERASE "BANCOS.CDX"
ENDIF
use saldos exclusive
if .not. neterr()
pack
index on cta+dtos(fecha) TAG i_saldos
endif
commit
close
use bancos exclusive
if .not. neterr()
pack
index on cuenta TAG i_ban
index on banco TAG i_ban2
endif
commit
close data
/Fin Funcin CreoIndices
-------------------------------------------------------------------------------------------
/
//Funciones de Apertura y Cierre
FUNCTION AbroDbf( lNew, cDriver, cNom_dbf, cAlias, uOrden, lShared, lReadOnly )
LOCAL intentos:=0, Result:=.F.
IF cDriver=NIL
cDriver=cRDD
ENDIF
IF cAlias=NIL
cAlias=cNom_dbf
ENDIF
IF lReadOnly=NIL
lReadOnly=.T.
ENDIF
IF lShared=NIL
lShared=.T.
ENDIF
IF uOrden=NIL
uOrden:=1
ENDIF
DbUseArea(lNew, cDriver, cNom_dbf, cAlias, lShared, lReadOnly)
DO WHILE .T.
DO WHILE NetErr() .and. Intentos<100
DbUseArea(lNew, cDriver, cNom_dbf, cAlias, lShared, lReadOnly)
Intentos++
ENDDO
IF UPPER( Alias() ) = UPPER( cAlias )
Intentos=0
Result:=.T.
EXIT
ELSE
IF ! MsgYesNo("No se pudo acceder a la base, Reintenta?")
Intentos:=0
EXIT
ELSE
Intentos=0
ENDIF
ENDIF
ENDDO
IF Result
OrdSetFocus(uOrden)
ENDIF
RETURN Result
/*Fin Funcin AbroDbf

Salu2

Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Fri Nov 02, 2007 01:48 PM
Jose

El problema esta que abres la bases de datos en READONLY

	IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
		MsgInfo("No fué posible verificar cuenta" + CRLF + "Base de datos no disponible")
		RETURN .F.
	ENDIF


si vez el parametro readonly es nil..

FUNCTION AbroDbf( lNew, cDriver, cNom_dbf, cAlias, uOrden, lShared, lReadOnly )
	LOCAL intentos:=0, Result:=.F.

	IF cDriver=NIL
		cDriver="DBFCDX"
	ENDIF
	IF cAlias=NIL
		cAlias=cNom_dbf
	ENDIF
	IF lReadOnly=NIL
		lReadOnly=.T.
	ENDIF
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Error DBFCDX/1025 Escritura no autorizada
Posted: Fri Nov 02, 2007 02:26 PM
Patricio Avalos Aguirre wrote:Jose

El problema esta que abres la bases de datos en READONLY

	IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
		MsgInfo("No fué posible verificar cuenta" + CRLF + "Base de datos no disponible")
		RETURN .F.
	ENDIF


si vez el parametro readonly es nil..

FUNCTION AbroDbf( lNew, cDriver, cNom_dbf, cAlias, uOrden, lShared, lReadOnly )
	LOCAL intentos:=0, Result:=.F.

	IF cDriver=NIL
		cDriver="DBFCDX"
	ENDIF
	IF cAlias=NIL
		cAlias=cNom_dbf
	ENDIF
	IF lReadOnly=NIL
		lReadOnly=.T.
	ENDIF



Patricio,
Gracias, había hecho una modificación en esta rutina y al hacerlo cambién por .t. sin darme cuenta.

Gracias!!
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"