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