Hola señores:
Tengo una pequeña inquietud con respecto al manejo de los alias en fwh con motor de ADS.
Al inicio de un aplicacion, estoy abriendo un numero x de tablas sueltas .ADT y les estoy asignando sus respectivos alias..(los abro al iniciar, y nunca los cierro sino hasta que el usuario salga de dicha aplicacion).
He estado viendo algunos ejemplos sobre el uso de las consultas SQL y para ello primero toca crearles una conexion previa..por ejemplo yo usaria estas instrucciones:
1. RUTABUS:="D:\mistablas\"
2. s:=ADSCONNECT(RUTABUS)
3: h:=ADSCREATESQLSTATEMENT("sqlalias",3)
4. ADSEXECUTESQLDIRECT(cSQL)
...
sqlalias->(DBCLOSEAREA())
ADSDISCONNECT(ADSGETCONNECTIONHANDLE())
Esto me implica tener que estar utilizando la instruccion (2.) cada vez que deseo hacer una consulta.
Sabiendo que, (como dije anteriormente) yo ya tengo unos alias previamente abiertos al inicio de la aplicacion, es posible realizar las consultas sobre esos alias ?
Como seria el procedimiento ?
Gracias de antemano..
Asignacion de alias para SQL sobre ADS
-
- Posts: 1033
- Joined: Fri Oct 07, 2005 3:33 pm
- Location: Cochabamba - Bolivia
Hola,
el RDDADS no es lo mismo que el SQL de ADS, cuando tu te conectas ya sea a un diccionario o a un directorio de tablas sueltas la unica manera de interactuar con las tablas de la conexion es a traves de sentencias SQL, en este caso nada tienen que hacer los alias que tienes asignados con los (DBF, ADT) abiertos por medio del RDD.
Ahora si lo que quieres es solo conectarte una sola vez, lo que puedes hacer es eliminar el cursor creado por el SELECT luego de ser utilizado sqlalias -> ( DBCLOSEAREA() ), y vuelves a realizar la consulta sin necesidad de conectarte nuevamente.
espero sea lo que necesitabas
saludos
Marcelo
el RDDADS no es lo mismo que el SQL de ADS, cuando tu te conectas ya sea a un diccionario o a un directorio de tablas sueltas la unica manera de interactuar con las tablas de la conexion es a traves de sentencias SQL, en este caso nada tienen que hacer los alias que tienes asignados con los (DBF, ADT) abiertos por medio del RDD.
Ahora si lo que quieres es solo conectarte una sola vez, lo que puedes hacer es eliminar el cursor creado por el SELECT luego de ser utilizado sqlalias -> ( DBCLOSEAREA() ), y vuelves a realizar la consulta sin necesidad de conectarte nuevamente.
espero sea lo que necesitabas
saludos
Marcelo