Sobre el Diccionario de Datos

Post Reply
User avatar
JavierVital
Posts: 105
Joined: Thu Feb 26, 2009 4:08 pm
Contact:

Sobre el Diccionario de Datos

Post by JavierVital »

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.
User avatar
compubrion
Posts: 130
Joined: Thu Mar 08, 2007 6:12 pm
Location: Miranda - Venezuela
Contact:

Re: Sobre el Diccionario de Datos

Post by compubrion »

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: Select all

*--
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
User avatar
JavierVital
Posts: 105
Joined: Thu Feb 26, 2009 4:08 pm
Contact:

Re: Sobre el Diccionario de Datos

Post by JavierVital »

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.
User avatar
compubrion
Posts: 130
Joined: Thu Mar 08, 2007 6:12 pm
Location: Miranda - Venezuela
Contact:

Re: Sobre el Diccionario de Datos

Post by compubrion »

Saludos !

Use TuTabla VIA DBFCDX para cdx
Use TuTabla VIA DBFNTX para cdx
use TuTabla VIAD ADS
Harbour / Bcc / MinGW / Fwh 13.9
User avatar
lucasdebeltran
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am
Contact:

Re: Sobre el Diccionario de Datos

Post by lucasdebeltran »

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.
User avatar
JavierVital
Posts: 105
Joined: Thu Feb 26, 2009 4:08 pm
Contact:

Re: Sobre el Diccionario de Datos

Post by JavierVital »

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