FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Sobre el Diccionario de Datos
Posts: 105
Joined: Thu Feb 26, 2009 04:08 PM
Sobre el Diccionario de Datos
Posted: Sun Mar 18, 2012 06:33 PM

Que tal buen dia.
Solo una pregunta para los que ya pasaron por esto.
Tengo en un servidor remoto las tablas de forma libre, cree un DD para poder conectarme
ya me conecto a el, las tablas siguen libres, he tratado de abrir las tablas pero no he podido lograrlo
La pregunta, es FORZOSO que las tablas estén referencia das dentro del DD ??
Si no es así, me podrían echar la mano para poder abrirlas.

Saludos.

Posts: 132
Joined: Thu Mar 08, 2007 06:12 PM
Re: Sobre el Diccionario de Datos
Posted: Sun Mar 18, 2012 09:38 PM
Saludos !
Tienes que añadir las tablas al diccionario, esto lo puedes hacer con el ARC o mediante codigo, con
la funcion AdsDDaddTable()
Ejem.
AdsDDaddTable( "Table1", "table1.adt", "table1.adi" ) Para tablas nativas
AdsDDaddTable( "Table1", "table1.dbf", "table1.cdx" ) Para DBFCDX

Donde el primer paramatero es un identificador de a tabla, luego la tabla con su extension y despues el indice con su extension
*--

En tu sistema despues de conectarte a DD abres todas las tablas y le asignas un alias y atravez de este alias accedes a los
datos

Code (fw): Select all Collapse
*--
FUNCTION CONECTACONADS()
*--
LOCAL cUser, cPass, nServ, cData
LOCAL oErr
LOCAL hConect
LOCAL lRet := .F.
LOCAL nFiles
LOCAL cFileIni := ".\Conecta.ini"
aFilesAdt := { "Condowin", "Conjunto", "Propieta", "Tablacon", "Proveedo",;
               "Concepto", "Deudagen", "Emisione", "Formatos", "Historia",;
               "Movidiar", "Operadia", "Apartame", "Codigos", "Detamovi", ;
               "Contratos", "Unidades" }
*--
cUser := LOWER( ALLTRIM( NETNAME() ) )
cPass := LOWER( ALLTRIM( NETNAME() ) )
nServ := 7
cData := "\\SERVIDOR\SERVERADS\CONDOMINIOS\CONDOMINIOS.ADD"
IF FILE( cFileIni )
   cData := GetPvProfString( "DATOS", "CARPETA", cData, cFileIni )
ENDIF
*--
IF ADSCONNECT60( cData, nServ, cUser, cPass,,@hConect )
   SET AUTOPEN ON
   *--
   FOR nFiles = 1 TO LEN( aFilesAdt )
       DBUSEAREA( .T., RDDSETDEFAULT(), aFilesAdt[ nFiles ], aFilesAdt[ nFiles ], .T. )
       ( aFilesAdt[ nFiles ] )->( ORDSETFOCUS( 1 ) )
   NEXT
   *--
   lRet := .T.
ELSE
   ADSGETLASTERROR( @oErr )
   ADSSHOWERROR( oErr, FWDESCRIPTION )
ENDIF
*--
RETURN( lRet )
*--
*
Harbour / Bcc / MinGW / Fwh 13.9
Posts: 105
Joined: Thu Feb 26, 2009 04:08 PM
Re: Sobre el Diccionario de Datos
Posted: Wed Mar 28, 2012 02:51 PM

Gracias por tu ayuda
Veo que si es NECESARIO que las tablas esten referenciadas en el DD

otra pregunta ya estando aqui.
Tengo otro servidor donde SI utilizo el DD y mis tablas si estan dentro del DD
pero ahora necesito abrir una tabla libre, como le puedo hacer.

Gracias.

Posts: 132
Joined: Thu Mar 08, 2007 06:12 PM
Re: Sobre el Diccionario de Datos
Posted: Wed Mar 28, 2012 06:06 PM

Saludos !

Use TuTabla VIA DBFCDX para cdx
Use TuTabla VIA DBFNTX para cdx
use TuTabla VIAD ADS

Harbour / Bcc / MinGW / Fwh 13.9
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Sobre el Diccionario de Datos
Posted: Wed Mar 28, 2012 07:17 PM

Javier,

Si usas ADS Local o Remoto, pues abrir free tables como abres un DBF normal.

Además, mira este post:

http://harbourlanguage.blogspot.it/2012 ... ddads.html

Salu2

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 105
Joined: Thu Feb 26, 2009 04:08 PM
Re: Sobre el Diccionario de Datos
Posted: Mon Apr 09, 2012 03:49 PM

Con ADSConnect(cPathTEM) , solamente así pude abrir tablas libres del DD
y después cerrar la coneccion AdsDisconnect().

Continue the discussion