Manuel,Manuel Valdenebro wrote:Mario,MarioDava wrote:Gracias Manuel, finalmente pude hacer la conexión a Oracle vía ADO, tengo una pregunta que hacerte, has usado en tus querys en la clausula WHERE capos tipo fecha? y si es el caso, te funcionan bien, a mi no?
Aquí estamos aprendiendo a "porrazos" y con la ayuda de todos. Por eso sería bueno nos comentaras como te has conectado, con que cadena de conexión.
En cuando al problema de las fecha, yo no tengo problemas. La siguiente consulta sobre la tabla EMPLOYEES la realiza correcamente:
select * from employees where LAST_NAME LIKE 'D%' AND hire_date > '01/01/1998'
¿Estas usando comillas dobles ó sencillas?
Entiendo lo del aprendizaje, por eso anexo lo siguiente:
La conexion a Oracle la hice así:
TRY
oCnx200:=toleauto():new("adodb.connection")
CATCH oError
MsgStop(oError:Operation,"Ado Connection")
END
TRY
oCnx200:ConnectionString:="Provider=OraOLEDB.Oracle;Data Source=200.160.1.220:1521/cbs;User ID=Mario;Password=MarioD;"
oCnx200:Open()
CATCH oError
MsgStop(oError:Operation,"Conexion con Oracle")
END
Ahora explico lo siguiente:
Para contar con el Povider native de oracle "Provider=OraOLEDB", instale el cliente de oracle para mi version que es la 10g.
Espero que esto les sea claro.
Y regresando al tema de la fecha anexo el select completo que uso:
oRs200:Source := oRs200:Open( "SELECT ev.resultmessage_id, (SELECT isymbol FROM tmessages WHERE id = ev.resultmessage_id) cCodigoError," + ;
"(SELECT nltext FROM tmessages WHERE id = ev.resultmessage_id)," + ;
"(SELECT cause FROM tmessages WHERE id = ev.resultmessage_id)," + ;
"(SELECT action FROM tmessages WHERE id = ev.resultmessage_id)," + ;
"COUNT(*) cuenta " + ;
"FROM trtechargableevents ev, trtedimensions dim WHERE ev.dimension_id = dim.id AND ev.eventbegindate >= '" + dtoc( dFecIni ) + ;
"' AND ev.eventbegindate < '" + dtoc( dFecFin ) + "' AND ev.resultmessage_id IS NOT NULL GROUP BY dim.datatype_id, ev.resultmessage_id ORDER BY 1, 2"
Saludos,
Mario A. Dávalos