Error DBFCDX/1025 Escritura no autorizada

Postby Francisco Horta » Mon Oct 29, 2007 8: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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby jose_murugosa » Mon Oct 29, 2007 9: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby jose_murugosa » Tue Oct 30, 2007 2: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby joseluisysturiz » Tue Oct 30, 2007 3: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!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Postby Raymundo Islas M. » Tue Oct 30, 2007 4: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
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby jose_murugosa » 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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41476
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jose_murugosa » Tue Oct 30, 2007 4: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby sysctrl2 » Tue Oct 30, 2007 6: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 "
User avatar
sysctrl2
 
Posts: 982
Joined: Mon Feb 05, 2007 7:15 pm

Postby Francisco Horta » Tue Oct 30, 2007 7: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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby joseluisysturiz » Tue Oct 30, 2007 8: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!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Postby jose_murugosa » Thu Nov 01, 2007 8: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. :lol:

Gracias desde ya por todo el apoyo que me han dado :D
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Solucionado

Postby Willi Quintana » 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
User avatar
Willi Quintana
 
Posts: 1004
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Postby Patricio Avalos Aguirre » Fri Nov 02, 2007 1:48 pm

Jose

El problema esta que abres la bases de datos en READONLY

Code: Select all  Expand view
   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..

Code: Select all  Expand view
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
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby jose_murugosa » Fri Nov 02, 2007 2:26 pm

Patricio Avalos Aguirre wrote:Jose

El problema esta que abres la bases de datos en READONLY

Code: Select all  Expand view
   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..

Code: Select all  Expand view
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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1145
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 34 guests