ads error 7008 (arreglado)

ads error 7008 (arreglado)

Postby MOISES » Fri Nov 28, 2014 6:23 pm

Hola,

Tengo un servidor con ADS, y en él la aplicación se instala en una carpeta compartida, c:\softwareges

En los demás clientes, ejecutan \\servdor\softwareges\app.exe y a la hora de abrir las bases de datos, me salta ADS error 7008, The specified table, memo file, or index file was unable to be opened.

¿Sabéis que puede ser por favor?.

Muchas gracias.
Last edited by MOISES on Fri Nov 28, 2014 8:24 pm, edited 1 time in total.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: ads error 7008

Postby hmpaquito » Fri Nov 28, 2014 6:34 pm

Moisés,

Dos cosas:

Primero: si el error salta en la primera tabla que abres puede ser que ela ruta este inaccesible, que ADS no este corriendo en el servidor
Segundo: ¿ Que valor devuelve DosError() despues del error ?

Pero quiza, mas interesante puede ser lo que dice la ayuda tecnica de ADS:

Show Navigation Component Previous Topic Next Topic
7008 Advantage server file open failure
Advantage Error Guide

Problem 1: The specified table, memo file, or index file was unable to be opened.

Solution 1: Verify the following:

The file exists and the user has sufficient access rights to open the file. (The location and name of the file that received the 7008 error can be found in the ADS_ERR.ADT or ADS_ERR.DBF file.)

The file is not already open exclusively by another Advantage user.

When opening a table, index, or memo file, verify a non-Advantage application does not already have the file open. If this scenario exists, a file open error will be logged in the Advantage Database Server error log, ADS_ERR.ADT or ADS_ERR.DBF. If an error sequence in consecutive records in the error log exists with error codes 16, 128, and 7008 (for the Advantage Database Server for NetWare), or 32 and 7008 (for the Advantage Database Server for Windows), this indicates that a non-Advantage application already has the file open, and the Advantage application is attempting to open the file using Advantage Proprietary Locking or in an Exclusive mode. Note that the other application that has the file open could also be backup software or a report writer. If opening a DBF table in a writeable mode, and that DBF is to be shared with a non-Advantage database application, make sure to open the table using Advantage Compatible Locking mode.

When creating a table, index, or memo file, verify that it already exists and another application does not have it opened.

If re-indexing or packing a table using Advantage Data Architect, verify the index, table or memo file is not opened by another application.

If attempting to open a table via the Advantage Local Server, make sure it is not already opened by another connection via the Advantage Database Server.

If attempting to open a table previously referenced by an SQL query, verify that the handle to the query (the cursor handle) was explicitly closed by calling AdsCloseSQLStatement after the executing the query. If the cursor handle was not explicitly closed by calling AdsCloseSQLStatement, the underlying table(s) will remain open in a "cached open" state by the Advantage server to improve the performance of subsequent queries. However, this "cached open" state will cause subsequent attempts to open the underlying table(s) in an exclusive mode to fail with a 7008 error.


Problem 2: This error can occur when the connection to the Advantage Data Dictionary was made using a local-drive-letter path and tables within the dictionary are not on the same drive. Advantage stores the file path of the table relative to the data dictionary file in the data dictionary. If the file path of the table cannot be converted to a relative path, this error is returned.

Solution 2: Open the Advantage Data Dictionary using UNC or through a network drive (the network drive will be converted to UNC). This allows the tables and indexes to be located on a different drive then the one the data dictionary is on. Note that the files must be accessible using a UNC path (i.e., the must be on a share).


Problem 3: This error can occur when making a connection or opening a table from inside a server-side module (such as an extended procedure or a trigger) on a Windows server and using a drive letter. Services cannot resolve a drive letter to a local path, which can lead to a 7008 error.

Solution 3: Use UNC (\\SERVERNAME\SHARE) when making connections or opening tables from inside a server-side module. Also use UNC for any TDataSet aliases that are used from inside a server-side module.


Problem 4: This error can occur if you have a trigger on the table you are trying to open, or if you have a trigger that uses the table you are trying to open.

Solution 4: Triggers often cache the statement they use to execute the trigger code. If this cached statement references the table you are trying to open exclusively, you can get a 7008 error. All users who have modified the table with the trigger need to close the table (the table the trigger is defined on) before you can gain exclusive access to ANY table modified inside the trigger.
Desde http://devzone.advantagedatabase.com/dz ... ailure.htm
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: ads error 7008

Postby MOISES » Fri Nov 28, 2014 6:43 pm

Hola,

DosError() me devuelve 32.

Y la ayuda de ADS la leí, pero no me aclaró nada.
Last edited by MOISES on Fri Nov 28, 2014 6:50 pm, edited 1 time in total.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: ads error 7008

Postby MOISES » Fri Nov 28, 2014 6:50 pm

Sí, perdón, es la primera tabla que abro con ADS, pero NO la primera del programa, ya que las otras son usando el DBFCDX.

Pero el path de red está accesible, porque la aplicación se ejecuta dese \\servidor

Es muy raro.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: ads error 7008

Postby hmpaquito » Fri Nov 28, 2014 7:03 pm

Lo que yo haria, y en este orden:

:idea: Intentar copiar esa .dbf a algun sitio a ver si deja copiarla. Si deja copiarla, entonces intentar borrarla PREVIA COPIA.
:idea: Saltar esa tabla y seguir con la siguiente a ver si abre la siguiente.
:idea: Abrir la tabla fallona con DBFCDX.
:idea: Ver con Attrib que atributos tiene esa tabla a ver si algun atributo es distinto al de otras tablas.
:idea: Comprueba que nadie este usando el archivo en exclusivo.

Quiza ya hayas probado tu alguna o todas estas cosas.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: ads error 7008 (arreglado)

Postby MOISES » Fri Nov 28, 2014 8:24 pm

Hola,

Muchas gracias, al final era el antivirus que estaba bloqueando el puerto.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests