Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Cómo exportar una consulta de Oracle 10i a un archivo .txt (https://www.clubdelphi.com/foros/showthread.php?t=19877)

Saul990 30-03-2005 07:26:19

Cómo exportar una consulta de Oracle 10i a un archivo .txt
 
Pretendo realizar una consulta en Oracle por ejemplo:

De la siguiente consulta:

Select * From Juzgados Where Anio like "2005";

La salida de esta consulta quisiera obtener la en un archivo de texto plano sin que sea un reporte.

De ante mano gracias.

Neftali [Germán.Estévez] 30-03-2005 10:19:06

Puedes conectar a Oracle vís ADO (por ejemplo); Con un ADOQuery debría bastar. A partir de ahí la exportación la puedes realizar "a mano" (1) o utilizando algun componente externo (2).

(1) Debes hacer un recorrido doble (dos FOR anidados) por el dataset; El primer recorrido que te divida los registros (por ejemplo con un caracter de "salto de línea") y el segundo (el más interno) que te separa las columnas (Fields) utilizando una Coma o un TAB. Lo vas guardando en un TStrings por ejemplo y al final lo guardas a fichero con un SaveToFile.

(2) Si quieres usar algun componente externo, yo personalmente he utilizado alguna vez los de Max y son sencillos (gratuítos y con fuentes).
http://www.maxcomponents.net/components.html#EXPORT

Toñico 05-05-2005 10:27:27

Hola Saul990,

Si estás ejecutando la consulta desde el isqlplus de Oracle, existe el comando Spool o algo parecido que redirecciona la salida de la pantalla a un fichero de texto.

Un saludo.

ramiretor 10-05-2005 17:05:08

Hola:
Como ya te han dicho, spool, direcciona la salida, por ejemplo:
Código SQL [-]
spool c:\miarhivo.txt; 
select * from mitabla 
where condicion;
spool off;

Espero te sirva

Paoti 28-06-2005 16:58:58

otra posible solucion usando las herramientas de ORACLE en especial Pl/SQL

es usando UTL_FILE, adjunto un ejemplo de esta herra ineta, lo que hace es gegerar un archivo de texto plano.... en un directorio del servidor...


PROCEDURE PRFILE
is
f utl_file.file_type;
begin
f := utl_file.fopen('dir_LOCAL', 'something.txt', 'w');
utl_file.put_line(f, 'line one: si funcionaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
utl_file.put_line(f, 'line two: more text');
utl_file.fclose(f);
end;



ahora lo que tendrias que hacer es generarte un cursor de tu consulta sql, darle formato, y ejecutar Put_line....



fopen('dir_LOCAL', 'something.txt', 'w'); <--- investiga la opcion CREATE DIRECTORY de oracle, para dar de alta un carpeta del servidor donde puedes leer y escribir archivos


La franja horaria es GMT +2. Ahora son las 23:05:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi