Hola Equipo Xailer
Tengo un diccionario de datos ADS que conecto con el siguiente codigo
WITH OBJECT AppData:oADSdsMain := TAdsDataSource():New()
:cConnect := cRootDrive + cIpFija + cPortFijo + cDictionary
:cPassword := "*******"
:cUser := "******"
:lAbortOnErrors := .T.
:lAdsLocking := .T.
:lConnected := .F.
:lDisplayErrors := .T.
:lOptimize := .T.
:lRightsCheck := .T.
:lUseDictionary := .T.
:nCharType := acANSI
:nConnectionFlags:= 0
:nFileType := afADT
:nServerType := asREMOTE
:nTimeOut := 5
:Create()
END WITH
Hast aqui todo funciona bien despues creo una dataset para manejar una tabla del diccionario
WITH OBJECT AppData:oDbfUsuarios:= TDbfDataSet():Create( Self )
:cName := "USUARIOS.ADT"
:oDataSource := AppData:oADSdsMain
:lShared := .T.
:lDisplayErrors := .T.
:lNew := .T.
if !:Open()
::lEntrar:= .F.
return .F.
endif
END WITH
Para usar la tabla del dataset, hago lo siguiente
AppData:oDbfUsuarios:Open()
AppData:oDbfUsuarios:OrdSetFocus("USUARIO1")
AppData:oDbfUsuarios:DbGoTop()
DO WHILE ! AppData:oDbfUsuarios:EOF()
AAdd( ::oDBCbxUser:aItems, {AppData:oDbfUsuarios:NOMBRE} )
AAdd( ::oDBCbxUser:aItemsBound, {AppData:oDbfUsuarios:USUARIO} )
AppData:oDbfUsuarios:Skip()
ENDDO
Y aqui en este codigo obtengo el siguiente error,
Subsistema: DBCMD
Código de error: 2001
Estado: .F.
Descripción: Area de trabajo no usada
Operación: ORDSETFOCUS
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
ORDSETFOCUS (0)
TDBFDATASET:ORDSETFOCUS (1210)
TFORMACCESO:FORMINITIALIZE (44)
En que parte estoy haciendo mal las cosas en el uso de ADS..? alguien que me pueda ayudar ?
Saludos
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.
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.
Error DBCMD Código de error: 2001 tratando de usar ADS
Error DBCMD Código de error: 2001 tratando de usar ADS
Hola Gabo:
Por lo que se observa en tu código estás usando un servidor remoto, si no tienes una licencia de servidor remoto aunque sea de prueba y/o no está corriendo no podrás conectarte a tu diccionario y en consecuencia no podrás acceder a tus BD, por otro lado la definición de acceso al diccionario se hace a través del ads.ini y tu conectas al alias definido en el ads.ini desde tu programa porque puedes acceder desde una iplocal o a través de una ip remota.
Si no tienes la licencia del servidor remoto, entonces cambia a servidor local y la conexión la estableces de la forma servidorcarpetadiccionario.add y con eso podrás acceder a tus base de datos
Por lo que se observa en tu código estás usando un servidor remoto, si no tienes una licencia de servidor remoto aunque sea de prueba y/o no está corriendo no podrás conectarte a tu diccionario y en consecuencia no podrás acceder a tus BD, por otro lado la definición de acceso al diccionario se hace a través del ads.ini y tu conectas al alias definido en el ads.ini desde tu programa porque puedes acceder desde una iplocal o a través de una ip remota.
Si no tienes la licencia del servidor remoto, entonces cambia a servidor local y la conexión la estableces de la forma servidorcarpetadiccionario.add y con eso podrás acceder a tus base de datos
Saludos
Héctor García
Héctor García