Consultas SQL con ADS "LOCAL" DUDA

Post Reply
User avatar
Hernan Diego Ceccarelli
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina
Contact:

Consultas SQL con ADS "LOCAL" DUDA

Post by Hernan Diego Ceccarelli »

Hola,
Siempre me quedo una duda existencial. Se pueden hacer consultas SQL de
tablas DBF del ADS Local server desde funciones propias del ADS local ??
Como ? Que funciones ?? Como se usan ? Algun mini ejemplo :-) :?

Hernan :D
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Post by R.F. »

Con ADS se puede hacer DE TODO.

Se puede hacer con las funciones propias del RDDADS, pero no te lo recomiendo, el barrido de los cursores es bastante complicado

Yo lo hago via ADO de esta manera: (OJO, requiere diccionario de datos y tener instalado el cliente ADO para ADS)

Code: Select all


LOCAL oConexionAdo := TOLEAUTO():New("adodb.connection")
LOCAL oComando := TOLEAUTO():New("adodb.command")
LOCAL oRecordset
LOCAL aDatos := {}

 /* comenzamos la conexion */
oConexionAdo:Open("Provider=Advantage.OLEDB.1;User ID=adssys;Data Source=c:\fwapps\klm\agentperformance.add;Persist Security Info=False;ServerType=ADS_LOCAL_SERVER")

/*paso 2, crear un objeto comando y relacionarlo con el objeto conexion previamente creado */
oComando:ActiveConnection(oConexionAdo)

// indicamos el comando a ejecutar como cadena de caracteres
oComando:CommandText := "Select * from agents order by iatacode"

//ejecutamos el comando y el resultado regresa en un objeto de tipo RecordSet
oRecordSet := oComando:Execute()
? oRecordSet:RecordCount()
? oRecordSet:Fields:Count()
DO WHILE .NOT. oRecordSet:Eof()
      AADD(aDatos,oRecordset:Fields(0):value)
      oRecordSet:MoveNext()
ENDDO
MsgList(aDatos)
Saludos
R.F.
User avatar
Hernan Diego Ceccarelli
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina
Contact:

Post by Hernan Diego Ceccarelli »

Rene,
A que te refieres con "barrido de cursores" ?
Estuve usando las funciones de ADS, realmente las consultas son INSTANTANEAS, las creo en un area y la lee como un dbf obteniendo e recno original y todo :) Despues cierro el area, no necesito mucha complejidad, que problema me traeria eso ? No uso ni diccionarios ni nada, algo bien simple me conformo :wink:

AdsConnect
ADSCreateSQLStatement("SQLarea",2)
ADSExecuteSQLDirect( <cConsulta> )
y despues cierro el area SQLarea
AdsDisconnect

A proposito, donde ha quedado la funcion AdsGetConnectionHandle() en la nueva version de xHarbour ??? Sabes algo al respecto ?


Hernan
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Hernan,

no consigo enviarte un emial a cesotech.com.ar

Marcelo
User avatar
Hernan Diego Ceccarelli
Posts: 84
Joined: Fri Oct 07, 2005 4:51 pm
Location: Rosario - Santa Fe - Argentina
Contact:

Post by Hernan Diego Ceccarelli »

Marcelo,
hceccarelli@cesotech.com.ar
checanet@gmail.com

Es mas el correo hceccarelli@cesotech.com.ar lo uso siempre, no tiene problemas, salvo que tengas algun problema de DNS, que te hace rebota ? Lo estoy usando y bajo mails de todos correctamente :(
Bueno prueba enviarme a la casilla de gmail que te puse.
RECUERDA NO ENVIAR .ZIP al correo de gmail que gmail los filtra (pensando que es warez :roll: ) Recuerda, si quieres mandar un archivo comprimido zipeado con ejemplos y documentacion, cambiarle la extension y avisa.

Salu2
Hernan :D
Post Reply