Page 1 of 2

Error de acceso a Datos

Posted: Wed Mar 12, 2008 7:30 am
by JoseLuis
Hola amigos

Tego un grupo de trabajo que comparte unas DBF'S que se encuentran en un servidor, cada miembro de este grupo tiene una copia del programa, con un fichero .INI que le indica la ruta de los datos. Hasta ahí todo funciona perfectamente sin problemas, ya que las bases de datos son en modo compartido.

El problema surge, cuando quiero funcionar desde el propio servidor, estando trabajando algún mimbro de éste grupo de trabajo. En éste caso no puede usar las bases de datos que éste usuario tenga pilladas. En el momento que no hay ningún usuario utilizando las bases de datos, puedo trabajar en el servidor sin problemas.

Es decir que todo funciona perfectamente desde fuera del servidor, haya los usuarios que sean, pero desde el propio servidor, que es el que tiene los datos, no puedo, siempre que las utilice alquien.

A que puede ser debido?

Saludos

Jose Luis

Posted: Wed Mar 12, 2008 12:38 pm
by karinha

Code: Select all

ANNOUNCE RDDSYS
REQUEST OrdKeyNo, OrdKeyCount, OrdKeyGoto
REQUEST DBFCDX, DBFFPT

STATIC oWnd

FUNCTION Main()

    FIELD...
    LOCAL...
    MEMVAR...
    PUBLIC...

    RDDSETDEFAULT( "DBFCDX" )
    SET CENTURY ON
    SET DATE BRITISH
    SET EPOCH TO 1950
    SET SOFTSEEK OFF
    SET WRAP ON
    SETCANCEL( .F. )
    SET CONFIRM OFF
    SET DELETED ON
    SET ESCAPE ON
    SET EXCLUSIVE OFF
    SET MULTIPLE OFF

    IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) )
        __Quit()
    ENDIF
Saludos

Posted: Wed Mar 12, 2008 1:21 pm
by JoseLuis
Gracias por responder

He probado lo que me dices, y ahora si utilizo el programa en el servidor lo que hace es que me echa fuera, no me deja entrar si hay alguien utilizando las bases de datos.

Yo lo que quiero es utilizar todos los puestos, y cuando estén todos ocupados, trabajar también en el servidor.

No entiendo porqué puedo en todos menos en el servidor que precisamente es el que tiene los datos

Saludos

Jose Luis

Posted: Wed Mar 12, 2008 5:35 pm
by karinha
TIENE QUE ABRIR TUS BASES DE DATOS, COMPARTILHADAS.

EJEMPLO:

SHARED NIL = Compartida.

EXCLUSIVE NIL = Exclusivo.

//-> Todos los usuarios pueden usar.
USE MIBANCO INDEX MIBANCO ALIAS MIBANCO SHARED NIL

//-> Solo un usuario puede usar.
USE MIBANCO INDEX MIBANCO ALIAS MIBANCO EXCLUSIVE NIL

Best regards, saludos.

Posted: Wed Mar 12, 2008 5:41 pm
by karinha
MIRA TANBIEN, SE ÉS WINDOWS XP Ó WINDOWS SERVER, MIRA SE LAS PERMICIONES ESTAN PARA USAR LOS BANCOS DE DATOS.

Saludos.

Posted: Wed Mar 12, 2008 7:03 pm
by JoseLuis
Hola

Está todo compartido, y como he dicho, el programa es el mismo para todos, y todos los puestos pueden compartir excepto el servidor.

El servidor tiene windows server 2003.

Otra cosa que se me había olvidado dedir, es que si accedo desde terminal server, también puedo funcionar perfectamente, aunque haya otros usuarios conectados. El problema surge exclusivamente cuando ejecuto el programa desde el propio servidor.

He leido en el foro que sería más interesante que todos los usuarios ejecuten el mismo exe con un acceso directo al servidor, en lugar de lo que estoy haciendo, (cada uno con su exe, y con un ini que le indica la ruta)

Sería ésto más rapido?

Gracias

Jose Luis

Posted: Wed Mar 12, 2008 8:28 pm
by karinha
José, solo és indicado usar un .EXE en cada TERMINAL, para trabajos OFF LINE.

Entonces, é mui interesante que tenga el .EXE solo en el SERVIDOR, con todas los permissos del windows server activos.

Se los otros usuarios abren el banco de datos, el servidor tanbien tiene que abrir.

En contrario és porque las permissos no estan activas.

Entra en contacto con tu administrador de red.

Desculpe mi portunhol.

Saludos.

Posted: Wed Mar 12, 2008 10:34 pm
by Lautaro
Jose Luis,

Marca el ejecutable como de solo lectura, creo que es eso.


Atte.,

Lautaro Moreira

Posted: Thu Mar 13, 2008 1:01 pm
by JoseLuis
He probado lo que me dices y nada, sigue igual

Acabo de reconfigurar toda la aplicación, para que utilicen todos los usarios el mismo exe del servidor, y obtengo el mismo resultado que si los usuarios lo ejecutan en su pc, osea que todos pueden trabajar sin problemas compartiendo datos, pero si intento ponerme en el servidor, no me deja, tengo que esperar a que salgan todos de la aplicacion.

Saludos

Jose Luis

Posted: Thu Mar 13, 2008 2:43 pm
by karinha
José, cual és la mensageria de errores?

Posted: Fri Mar 14, 2008 7:27 am
by JoseLuis
Puede haber dos tipos de errores, y no localizo el momento de uno u otro.

1.- Simplemente se cierra la aplicación.

2.- Error description: Error BASE/1002 Alias does not exist: PROVE

El alias evidentemente existe, y esta abierto en modo shared (compartido)

dbUseArea(.T.,,"PROVE","PROVE",.T.)

Saludos

Jose Luis

Posted: Fri Mar 14, 2008 7:56 am
by Carles
JoseLuis,

Por partes.

1.- Hay un simple exe q:

Code: Select all

FUNCTION Main()

   dbUseArea(.T.,,"PROVE","PROVE",.T.)

   MsgInfo( Alias() )

RETU NIL
y ejecutalo desde el server

Si funciona, q es lo q tendria de ser, pon el msginfo dentro del programa detras de donde abres la tabla, a ver, y continuamos...

2.- La aplicacion es siempre mejor q este en el cliente

Posted: Fri Mar 14, 2008 8:37 am
by mmercado
Hola José Luis:

Revisa la línea FILES=nnn en el archivo CONFIG.NT y aumenta el valor nnn

Saludos

Manuel Mercado

Posted: Fri Mar 14, 2008 11:34 am
by JoseLuis
Manuel, he subido los files al doble, y nada sigue igual
Carles, en el msginfo no me muestra nada, me aparece en blanco.

Me sale el mismo mensaje que no encuentra el alias. Si vuelvo a ejecutar el exe, quizá a la 5ª o 6ª vez entra, lo raro para mi, es que en los demás ordenadores, la actividad es totalmente normal.

Saludos

Jose Luis

Posted: Fri Mar 14, 2008 11:36 am
by JoseLuis
Creo que me voy a rendir

Si están todos los puestos ocupados, en lugar de que utilice alguien el servidor, les diré que se esperen a que se quede alguno libre, y el servidor intocable.

Saludos

Jose Luis