In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Opportunistic lock

Foro público de Xailer en español
Responder
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Opportunistic lock

Mensaje por ignacio »

Usuarios de Xailer,
Se ha comentado en el foro de xHarbour la necesidad de tocar el registry
tanto del server como de los clientes para que funcionen correctamente los
RDD nativos. Un usuario posteo el otro día todas las modifaciones que había
que hacer y parece que está bastante puesto en el asunto. Adjunto con este
Email dicho mensaje. Yo me he hecho una pequeña función para arreglarlo del
lado del cliente que sencillamente llamo al empezar la aplicación. Por si os
interesa aquí la dejo:
#include "WinReg.api"
FUNCTION SetNetworkClientScheme()
With Object TRegistry():New()
:Root := HKEY_LOCAL_MACHINE
if :OpenKey(
" SystemCurrentControlSetServicesLanmanWorkStationParamete rs " ) == 0
if :GetNumeric( "EnableOpLocksForceClose" ) == 1
:CloseKey()
return nil
endif
:SetNumeric( "UseOpportunisticLocking", 0 ) // por defecto no
existe la clave
:SetNumeric( "EnableOpLocks", 0 ) // por defecto no
existe la clave
:SetNumeric( "EnableOpLocksForceClose", 1 ) // por defecto no
existe la clave
:SetNumeric( "UtilizeNtCaching", 0 ) // por defecto no
existe la clave
:SetNumeric( "UseLockReadUnlock", 0 ) // por defecto no
existe la clave
:CloseKey()
endif
if :OpenKey( "SystemCurrentControlSetServicesMRXSmbParameters" )
== 0 // XP
:SetNumeric( "OpLocksDisabled", 1 ) // por defecto no
existe la clave
:CloseKey()
elseif :OpenKey( "SystemCurrentControlSetServicesVxDVREDIR" ) == 0
// Win9x
:SetNumeric( "DiscardCacheOnOpen", 1 ) // por defecto ni idea
:CloseKey()
endif
End With
RETURN nil
Un saludo,
--
Ignacio Ortiz
www.xailer.com


Attached files Re_ Network problems on XPsp2 - solution.nws (2.7 KB)Â
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Kleyber Derick
Mensajes: 5
Registrado: Vie Dic 03, 2004 12:36 pm

Opportunistic lock

Mensaje por Kleyber Derick »

Ignacio,
> Usuarios de Xailer,
>
> Se ha comentado en el foro de xHarbour la necesidad de tocar el registry
> tanto del server como de los clientes para que funcionen correctamente los
> RDD nativos. Un usuario posteo el otro día todas las modifaciones que
había
> que hacer y parece que está bastante puesto en el asunto. Adjunto con este
> Email dicho mensaje. Yo me he hecho una pequeña función para arreglarlo
del
> lado del cliente que sencillamente llamo al empezar la aplicación. Por si
os
> interesa aquí la dejo:
>
> #include "WinReg.api"
>
> FUNCTION SetNetworkClientScheme()
>
> With Object TRegistry():New()
> :Root := HKEY_LOCAL_MACHINE
> if :OpenKey(
> " SystemCurrentControlSetServicesLanmanWorkStationParamete rs " ) == 0
> if :GetNumeric( "EnableOpLocksForceClose" ) == 1
> :CloseKey()
> return nil
> endif
> :SetNumeric( "UseOpportunisticLocking", 0 ) // por defecto no
> existe la clave
> :SetNumeric( "EnableOpLocks", 0 ) // por defecto no
> existe la clave
> :SetNumeric( "EnableOpLocksForceClose", 1 ) // por defecto no
> existe la clave
> :SetNumeric( "UtilizeNtCaching", 0 ) // por defecto no
> existe la clave
> :SetNumeric( "UseLockReadUnlock", 0 ) // por defecto no
> existe la clave
> :CloseKey()
> endif
> if :OpenKey( "SystemCurrentControlSetServicesMRXSmbParameters" )
> == 0 // XP
> :SetNumeric( "OpLocksDisabled", 1 ) // por defecto no
> existe la clave
> :CloseKey()
> elseif :OpenKey( "SystemCurrentControlSetServicesVxDVREDIR" ) ==
0
> // Win9x
> :SetNumeric( "DiscardCacheOnOpen", 1 ) // por defecto ni
idea
> :CloseKey()
> endif
> End With
>
> RETURN nil
>
>
> Un saludo,
>
> --
> Ignacio Ortiz
> www.xailer.com
¿Y en el Server, lo que hacemos?
Saludos,
Kleyber Derick
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Opportunistic lock

Mensaje por ignacio »

Kleyber,
Lo tienes en el Email adjunto. Sería muy sencillo hacer otra función para el
lado del Server usando las clase TRegistry de Xailer.
LOCAL nKey:= HKEY_LOCAL_MACHINE
LOCAL cKeySrv:="SystemCurrentControlSetServicesLanmanServerParameters "
LOCAL
cKeyWks:=" SystemCurrentControlSetServicesLanmanWorkStationParamete rs "
// Server settings Win NT, 2000, XP
SetRegistry( nKey,cKeySrv,"CachedOpenLimit",0)
SetRegistry( nKey,cKeySrv,"EnableOpLocks",0)
SetRegistry( nKey,cKeySrv,"EnableOpLocksForceClose",1)
SetRegistry( nKey,cKeySrv,"SharingViolationDelay",0) // MS Knowledgebase
Q150384
SetRegistry( nKey,cKeySrv,"SharingViolationRetries",0)
Saludos
--
Ignacio Ortiz
www.xailer.com
"Kleyber Derick" <kleyber@tkinformidia.net> escribió en el mensaje
news:[email=41b04fd3@ozsrv2.ozlan.local...]41b04fd3@ozsrv2.ozlan.local...[/email]
> Ignacio,
>
>> Usuarios de Xailer,
>>
>> Se ha comentado en el foro de xHarbour la necesidad de tocar el registry
>> tanto del server como de los clientes para que funcionen correctamente
>> los
>> RDD nativos. Un usuario posteo el otro día todas las modifaciones que
> había
>> que hacer y parece que está bastante puesto en el asunto. Adjunto con
>> este
>> Email dicho mensaje. Yo me he hecho una pequeña función para arreglarlo
> del
>> lado del cliente que sencillamente llamo al empezar la aplicación. Por si
> os
>> interesa aquí la dejo:
>>
>> #include "WinReg.api"
>>
>> FUNCTION SetNetworkClientScheme()
>>
>> With Object TRegistry():New()
>> :Root := HKEY_LOCAL_MACHINE
>> if :OpenKey(
>> " SystemCurrentControlSetServicesLanmanWorkStationParamete rs " ) == 0
>> if :GetNumeric( "EnableOpLocksForceClose" ) == 1
>> :CloseKey()
>> return nil
>> endif
>> :SetNumeric( "UseOpportunisticLocking", 0 ) // por defecto no
>> existe la clave
>> :SetNumeric( "EnableOpLocks", 0 ) // por defecto no
>> existe la clave
>> :SetNumeric( "EnableOpLocksForceClose", 1 ) // por defecto no
>> existe la clave
>> :SetNumeric( "UtilizeNtCaching", 0 ) // por defecto no
>> existe la clave
>> :SetNumeric( "UseLockReadUnlock", 0 ) // por defecto no
>> existe la clave
>> :CloseKey()
>> endif
>> if :OpenKey(
>> "SystemCurrentControlSetServicesMRXSmbParameters" )
>> == 0 // XP
>> :SetNumeric( "OpLocksDisabled", 1 ) // por defecto no
>> existe la clave
>> :CloseKey()
>> elseif :OpenKey( "SystemCurrentControlSetServicesVxDVREDIR" )
>> ==
> 0
>> // Win9x
>> :SetNumeric( "DiscardCacheOnOpen", 1 ) // por defecto ni
> idea
>> :CloseKey()
>> endif
>> End With
>>
>> RETURN nil
>>
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz
>> www.xailer.com
>
> ¿Y en el Server, lo que hacemos?
>
> Saludos,
>
> Kleyber Derick
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Opportunistic lock

Mensaje por ignacio »

Hecha para Xailer:
FUNCTION SetNetworkServerScheme()
With Object TRegistry():New()
:Root := HKEY_LOCAL_MACHINE
if :OpenKey(
"SystemCurrentControlSetServicesLanmanServerParameters" ) == 0
if :GetNumeric( "EnableOpLocksForceClose" ) == 1
:CloseKey()
return nil
endif
:SetNumeric( "CachedOpenLimit", 0 ) // por defecto no
existe la clave
:SetNumeric( "EnableOpLocks", 0 ) // por defecto no
existe la clave
:SetNumeric( "EnableOpLocksForceClose", 1 ) // por defecto no
existe la clave
:SetNumeric( "SharingViolationDelay", 0 ) // por defecto no
existe la clave
:SetNumeric( "SharingViolationRetries", 0 ) // por defecto no
existe la clave
:CloseKey()
endif
End With
RETURN nil
Saludos,
--
Ignacio Ortiz
www.xailer.com
"Ignacio Ortiz" <NoNameToAvoidSpam@ozs.com> escribió en el mensaje
news:41b05175$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Kleyber,
>
> Lo tienes en el Email adjunto. Sería muy sencillo hacer otra función para
> el lado del Server usando las clase TRegistry de Xailer.
>
> LOCAL nKey:= HKEY_LOCAL_MACHINE
> LOCAL cKeySrv:="SystemCurrentControlSetServicesLanmanServerParameters "
> LOCAL
> cKeyWks:=" SystemCurrentControlSetServicesLanmanWorkStationParamete rs "
>
> // Server settings Win NT, 2000, XP
> SetRegistry( nKey,cKeySrv,"CachedOpenLimit",0)
> SetRegistry( nKey,cKeySrv,"EnableOpLocks",0)
> SetRegistry( nKey,cKeySrv,"EnableOpLocksForceClose",1)
> SetRegistry( nKey,cKeySrv,"SharingViolationDelay",0) // MS Knowledgebase
> Q150384
> SetRegistry( nKey,cKeySrv,"SharingViolationRetries",0)
>
> Saludos
>
> --
> Ignacio Ortiz
> www.xailer.com
> "Kleyber Derick" <kleyber@tkinformidia.net> escribió en el mensaje
> news:[email=41b04fd3@ozsrv2.ozlan.local...]41b04fd3@ozsrv2.ozlan.local...[/email]
>> Ignacio,
>>
>>> Usuarios de Xailer,
>>>
>>> Se ha comentado en el foro de xHarbour la necesidad de tocar el registry
>>> tanto del server como de los clientes para que funcionen correctamente
>>> los
>>> RDD nativos. Un usuario posteo el otro día todas las modifaciones que
>> había
>>> que hacer y parece que está bastante puesto en el asunto. Adjunto con
>>> este
>>> Email dicho mensaje. Yo me he hecho una pequeña función para arreglarlo
>> del
>>> lado del cliente que sencillamente llamo al empezar la aplicación. Por
>>> si
>> os
>>> interesa aquí la dejo:
>>>
>>> #include "WinReg.api"
>>>
>>> FUNCTION SetNetworkClientScheme()
>>>
>>> With Object TRegistry():New()
>>> :Root := HKEY_LOCAL_MACHINE
>>> if :OpenKey(
>>> " SystemCurrentControlSetServicesLanmanWorkStationParamete rs " ) == 0
>>> if :GetNumeric( "EnableOpLocksForceClose" ) == 1
>>> :CloseKey()
>>> return nil
>>> endif
>>> :SetNumeric( "UseOpportunisticLocking", 0 ) // por defecto no
>>> existe la clave
>>> :SetNumeric( "EnableOpLocks", 0 ) // por defecto no
>>> existe la clave
>>> :SetNumeric( "EnableOpLocksForceClose", 1 ) // por defecto no
>>> existe la clave
>>> :SetNumeric( "UtilizeNtCaching", 0 ) // por defecto no
>>> existe la clave
>>> :SetNumeric( "UseLockReadUnlock", 0 ) // por defecto no
>>> existe la clave
>>> :CloseKey()
>>> endif
>>> if :OpenKey(
>>> "SystemCurrentControlSetServicesMRXSmbParameters" )
>>> == 0 // XP
>>> :SetNumeric( "OpLocksDisabled", 1 ) // por defecto no
>>> existe la clave
>>> :CloseKey()
>>> elseif :OpenKey( "SystemCurrentControlSetServicesVxDVREDIR" )
>>> ==
>> 0
>>> // Win9x
>>> :SetNumeric( "DiscardCacheOnOpen", 1 ) // por defecto ni
>> idea
>>> :CloseKey()
>>> endif
>>> End With
>>>
>>> RETURN nil
>>>
>>>
>>> Un saludo,
>>>
>>> --
>>> Ignacio Ortiz
>>> www.xailer.com
>>
>> ¿Y en el Server, lo que hacemos?
>>
>> Saludos,
>>
>> Kleyber Derick
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Kleyber Derick
Mensajes: 5
Registrado: Vie Dic 03, 2004 12:36 pm

Opportunistic lock

Mensaje por Kleyber Derick »

Gracias Ignacio.
Saludos,
Kleyber Derick
Francisco
Mensajes: 39
Registrado: Mar Nov 30, 2004 1:34 pm

Opportunistic lock

Mensaje por Francisco »

Puede saberse por que hay que hacer este pollo del 15 ? o es mas bien un
fallo del rdd ? Disculpad mi ignorancia pero el idioma de shakespeare no es
lo mio y en el foro de xharbour como que no me entero del motivo.
Atentamente : Francisco Sanchez GERENTE GRUPO ST
"Kleyber Derick" <kleyber@tkinformidia.net> escribió en el mensaje
news:[email=41b0579e@ozsrv2.ozlan.local...]41b0579e@ozsrv2.ozlan.local...[/email]
> Gracias Ignacio.
>
> Saludos,
>
> Kleyber Derick
>
>
Francisco
Mensajes: 39
Registrado: Mar Nov 30, 2004 1:34 pm

Opportunistic lock

Mensaje por Francisco »

YA VI y entendi que el problema es con el SP2 de XP pero en que medida ? no
tendrian que solucionarlo en el rdd ? en vez de tener todos los usuarios que
montar este pollo ? O esto es solo un parche mientras lo solucionan ?
Atentamente : Francisco Sanchez GERENTE GRUPO ST
"Francisco" <total@arrakis.es> escribió en el mensaje
news:41b0a5d1$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Puede saberse por que hay que hacer este pollo del 15 ? o es mas bien un
> fallo del rdd ? Disculpad mi ignorancia pero el idioma de shakespeare no
es
> lo mio y en el foro de xharbour como que no me entero del motivo.
>
> Atentamente : Francisco Sanchez GERENTE GRUPO ST
> "Kleyber Derick" <kleyber@tkinformidia.net> escribió en el mensaje
> news:[email=41b0579e@ozsrv2.ozlan.local...]41b0579e@ozsrv2.ozlan.local...[/email]
> > Gracias Ignacio.
> >
> > Saludos,
> >
> > Kleyber Derick
> >
> >
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Opportunistic lock

Mensaje por jfgimenez »

Paco,
> YA VI y entendi que el problema es con el SP2 de XP pero en que medida ?
> no
> tendrian que solucionarlo en el rdd ? en vez de tener todos los usuarios
> que
> montar este pollo ? O esto es solo un parche mientras lo solucionan ?
No es un problema de XP-SP2, sino de todas las variaciones posibles entre
distintas versiones de windows. Al parecer, MS ha ido cambiando la forma
como funciona internamente su red en cada versión de windows, y eso provoca
que cuando mezclas dichas versiones en una misma red vienen los problemas.
P.ej. servidor W2K y puestos W98, W2K y XP.
Mi impresión personal es que MS está haciendo todo lo posible por hacer
fallar los programas que abren ficheros en modo compartido, de forma que
todos tengramos que migrar a sistemas cliente/servidor, como BB.DD. SQL.
Pero claro, es sólo una opinión personal.
Respecto a modificar el RDD, pues no es lo mejor, habida cuenta de que no
todo el mundo utiliza windows, y precísamente la persona que ha mejorado y
terminado el RDDCDX (Przesmyslaw) no usa windows, sino linux, por lo que no
puede hacer todas las pruebas necesarias y podría provocar más problemas.
Además, algunas combinaciones de windows sí funcionan bien, y aplicar ese
parche sólo conseguiría degradar el rendimiento.
En definitiva, que es mejor que cada cual aplique esos parches según la
situación concreta en la que se encuentre.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder