Error DBFCDX/1025 Escritura no autorizada

Error DBFCDX/1025 Escritura no autorizada

Postby jose_murugosa » Mon Oct 29, 2007 3:52 am

Error DBFCDX/1025 Escritura no autorizada :roll:

Este es el error que estoy recibiendo donde indico en las siguientes líneas de código:
Code: Select all  Expand view
.......
IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
      MsgInfo("No fué posible verificar cuenta")
      RETURN .F.
ENDIF
seek ncta
IF BANCOS->( Found() )
   DO WHILE .T.
      IF BANCOS->( RLock() )
aca----->REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto
         BANCOS->( DbUnlock() )
         EXIT
      ENDIF
   ENDDO
ENDIF
CierroDbf()

Lo curioso, como se puede ver es que el registro es bloqueado sin problemas y luego al intentar reemplazar produce un error de no poder acceder al registro bloqueado para escribir.

Intente buscar el error pero no se porque se produce.
Cualquier ayuda sera muy apreciada.

Gracias desde ya :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 karinha » Mon Oct 29, 2007 11:43 am

Code: Select all  Expand view
IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
      MsgInfo("No fué posible verificar cuenta")
      RETURN .F.
ENDIF

seek ncta

IF BANCOS->( Found() )
   WHILE( .T. )
      SYSREFRESH()
      IF BANCOS->( RLock() )
         REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto
         EXIT
      ELSE
          MsgInfo("No fué posible verificar cuenta")
      ENDIF
   ENDDO
   BANCOS->( DbComittAll() )
   BANCOS->( DbUnlock() )
ELSE
   MsgInfo("No fué posible Abrir la cuenta")
ENDIF

CierroDbf()  //?????
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7446
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby jose_murugosa » Mon Oct 29, 2007 12:00 pm

Gracias por tu respuesta Joao,

He probado con el código que me enviaste y sigue dándome el mismo error.
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

Re: Error DBFCDX/1025 Escritura no autorizada

Postby Carlos Mora » Mon Oct 29, 2007 12:04 pm

jose_murugosa wrote:Error DBFCDX/1025 Escritura no autorizada :roll:

Este es el error que estoy recibiendo donde indico en las siguientes líneas de código:
Code: Select all  Expand view
.......
IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
      MsgInfo("No fué posible verificar cuenta")
      RETURN .F.
ENDIF
seek ncta
IF BANCOS->( Found() )
   DO WHILE .T.
      IF BANCOS->( RLock() )
aca----->REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto
         BANCOS->( DbUnlock() )
         EXIT
      ENDIF
   ENDDO
ENDIF
CierroDbf()

Lo curioso, como se puede ver es que el registro es bloqueado sin problemas y luego al intentar reemplazar produce un error de no poder acceder al registro bloqueado para escribir.

Intente buscar el error pero no se porque se produce.
Cualquier ayuda sera muy apreciada.

Gracias desde ya :D


el seek ncta, en que área lo haces? no tiene el "Bancos->" delante

Si pones MSGINFO( BANCOS->( DBINFO( DBI_CANPUTREC ) ) ) justo antes del replace que muestra?

Antes del dBUnlock() es imprescindible el dBCommit() si quieres evitar corrupción de datos. Ya sé, es más lento, pero para mis programas eso no es negociable: dBcommit() antes del Unlock y 0 corrupción con ntx y con cdx.

Un saludo,

Carlos.
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Postby karinha » Mon Oct 29, 2007 12:14 pm

saldo + wmonto -> los dos son numericos??
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7446
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby jose_murugosa » Mon Oct 29, 2007 1:09 pm

Carlos, Joao:

Muchas gracias por sus respuestas, este es el código como lo estoy usando ahora y continúa el mismo error: :cry:
Code: Select all  Expand view
   IF wmonto = 0
      RETURN .T.
   ENDIF
   warea = Select()
   IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
      MsgInfo("No fué posible verificar cuenta")
      RETURN .F.
   ENDIF
   BANCOS->( DbSeek(ncta, .f.) )
   IF BANCOS->( Found() )
      DO WHILE .T.
         SysRefresh()
         IF BANCOS->( RLock() )
aca->    REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto
            BANCOS->( DbCommit() )
            BANCOS->( DbUnlock() )
            EXIT
         ENDIF
      ENDDO
   ENDIF
   BANCOS->( DbCloseArea() )


Saldo efectivamente es una variable numérica.

Gracias por vuestro interes y sugerencias que como veis he adoptado en el codigo. :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 Patricio Avalos Aguirre » Mon Oct 29, 2007 1:15 pm

Hola

Prueba con

Code: Select all  Expand view
bancos->( dbRLock() )
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 » Mon Oct 29, 2007 1:18 pm

Patricio Avalos Aguirre wrote:Hola

Prueba con

Code: Select all  Expand view
bancos->( dbRLock() )


Probado,

El mismo error en el mismo lugar......

Gracias por la sugerencia, sigo buscando....
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 karinha » Mon Oct 29, 2007 1:34 pm

Muestranos:

AbroDbf()
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7446
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby Willi Quintana » Mon Oct 29, 2007 1:34 pm

...
IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
MsgInfo("No fué posible verificar cuenta")
RETURN .F.
ENDIF

Select Bancos

If !DbSeek(nCta)
MsgInfo("No existe la cuenta")
RETURN .F.
EndIf

If !RLock()
MsgInfo("No fué posible bloquear la cuenta")
RETURN .F.
EndIf

REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto

DbCommit()
DbUnLock()
CierroDbf()
...

Debe funcionar...........
Salu2
User avatar
Willi Quintana
 
Posts: 1004
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Postby jose_murugosa » Mon Oct 29, 2007 6:23 pm

Willi Quintana wrote:...
IF !AbroDbf( .T., "DBFCDX", "BANCOS", "BANCOS", "i_ban")
MsgInfo("No fué posible verificar cuenta")
RETURN .F.
ENDIF

Select Bancos

If !DbSeek(nCta)
MsgInfo("No existe la cuenta")
RETURN .F.
EndIf

If !RLock()
MsgInfo("No fué posible bloquear la cuenta")
RETURN .F.
EndIf

REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto

DbCommit()
DbUnLock()
CierroDbf()
...

Debe funcionar...........
Salu2


Willy,

gracias por tu respuesta, probé de poner el código que sugieres, y me da nuevamente el mismo error. :oops:

Cualquier guía adicional se recibe gratitud. :wink:
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 RenOmaS » Mon Oct 29, 2007 6:36 pm

El tamanho del campo 'SALDO' soporta la cantadid a grabar?... es decir verifica el tamanho del campo
User avatar
RenOmaS
 
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Postby mantonio_08 » Mon Oct 29, 2007 6:47 pm

Amigo:

Te propongo dos cosas:

1. Borra el Archivo Indices y Generalo de nuevo.

2 Cambia esta Linea *** IF BANCOS->( Found() )
Por
IF BANCOS->( !eof() )
DO WHILE .T.
SysRefresh()
IF BANCOS->( RLock() )
aca-> REPLACE BANCOS->saldo WITH BANCOS->saldo + wmonto
BANCOS->( DbCommit() )
BANCOS->( DbUnlock() )
EXIT
ENDIF
ENDDO
ENDIF

Espero te sirva,

Saludos,
Antonio
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Postby karinha » Mon Oct 29, 2007 7:01 pm

COMO ESTÁ EL INDICE??

Hago asi,
Code: Select all  Expand view
    AEVAL(DIRECTORY( "IPOSTO.CDX"    ),{ |aFILE| FERASE(aFILE[F_NAME]) } )
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7446
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby jacgsoft » Mon Oct 29, 2007 8:30 pm

Ese error solo se da cuando el Archivo esta como solo Lectura,
User avatar
jacgsoft
 
Posts: 104
Joined: Fri Nov 24, 2006 9:03 pm
Location: Lima - Peru

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 146 guests