Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   como generar txt de un query en SQL?? (https://www.clubdelphi.com/foros/showthread.php?t=23928)

danytorres 02-08-2005 17:19:07

como generar txt de un query en SQL??
 
Buenos dias amigos tengo un gran problema, necesito generar un txt dedes un query de SQL Server,

ejemplo:

_____________________________
Select *
from fecha
Where cod = 1
______________________________

como puedo colocar una instruccion en el query que ma genere un txt.

lucasarts_18 02-08-2005 17:28:34

Hola:

Al parecer lo que quieres es guardar en un archivo TXT la instrucción SQL.
Sí es así te recomiendo crear un archivo TXT usando la clase File y luego de crear el archivo le asignes el String del Query..

Espero que sea algo así :confused: .

Saludos.

Neftali [Germán.Estévez] 02-08-2005 17:28:38

(1) Copy/Paste
(2) Generar un DTS

¿Necesitas hacerlo desde un programa Delphi?
No he entendido bien si quieres guardar la sentencia SQL o el resultado.

danytorres 02-08-2005 17:32:53

generar el txt debe ser desde SQL Server sin utilizar Delphi.

YaninaGenia 02-08-2005 17:40:29

Hola
 
Vas a tener que agregar un componente SaveDialog
Código Delphi [-]
  procedure TForm1.ExportaratxtClick(Sender: TObject);
  var
    archivo : textfile;
    x : string;
    cont : integer;
  begin
    cont := 0;
    if not query1.IsEmpty then
    begin
      try
        savedialog1.DefaultExt := 'cvs';
        savedialog1.Filter := 'Text files (*.cvs)|*.cvs';
        if savedialog1.Execute then
          if savedialog1.FileName <> emptystr then
          begin
            assignfile(archivo,savedialog1.filename);
            rewrite(archivo);
            writeln(archivo,'NOMBRE','APELLIDO','EDAD'); 
  //Aca van tantos nombres como columnas tenga tu consulta, 
  // serán los que aparezcan en el encabezado del CSV.
            query1.First;
            while not (query1.Eof) do
              begin
                x := query1.fieldbyname('NOM').AsString + ';'
                  + query1.fieldbyname('APE').AsString + ';'
                   + query1.fieldbyname('EDAD').AsString; 
 //ACA VAN LOS NOMBRES QUE TIENEN LAS COLUMNAS 
 // EN LA BASE DE DATOS
                writeln(archivo,x);
                query1.Next;
                cont := cont + 1;
              end;
            flush(archivo);
            closefile(archivo);
            showmessage('Total de archivos exportados: '+inttostr(cont));
          end;
        except
          on e : exception do
            showmessage(e.Message);
        end;
    end;
  end;
Cualquier cosa me preguntas.

Yanina Genia

danytorres 02-08-2005 17:44:06

Gracias por responder YaninaGenia, pero estas utilizando delphi y yo debo realizar el txt sin utilizar esta herramienta. Solo debo usar SQL Server.

danytorres 02-08-2005 17:49:57

Gracias por responder Neftali, pero lo que quiero es guardar el resultado del query en un txt, solamente usando SQL Server sin utilizar Delphi. Agradesco su ayuda.

roman 02-08-2005 17:49:58

Recuperé el mensaje de YaninaGenia pues aun cuando la respuesta no correspondía, dejaba fuera de contexto el penúltimo mensaje de danytorres.

EDITO:

También, dado que el mensaje pide una solución específica para SQL Server, muevo este hilo del foro Varios donde no corresponde.

// Saludos

Neftali [Germán.Estévez] 02-08-2005 17:51:21

(1) Crea un nuevo DTS (Servicios de Transformacion de Datos)
(2) Añade una conexion (configura SQL Server)
(3) Añade un Fichero de salida (configura el TXT que quieras)
(4) Añade una Tarea de transformar Datos y selecciona como conexion origen la de SQL server y como destino el fichero TXT. Introduce la consulta que deses y al ejecutarlo tendrá la exportación.

danytorres 02-08-2005 17:53:50

Gracias por responder Neftali, pero no entendi nada creo que esa es la solucion pero sino es molestia podrias ser un poco mas especifico. Gracias.

Neftali [Germán.Estévez] 02-08-2005 18:02:57

En el Administrador de SQL server (enterprise Manager) donde aparecen las Bases de Datos, un poco más abajo aparecen "Servicios de transformación de Datos"; Debes acceder ahí un crear uno nuevo tal y como te he dicho antes.

Haz alguna prueba y di dónde te quedas atascado.

Caro 03-08-2005 15:49:32

Muchas Gracias YaninaGenia, era lo que necesitaba y me funciono todo muy bien.

__hector 05-08-2005 20:36:03

Llego un poco tarde, pero...

Si abres el Query Analyzer, y ejecutas la consulta, debajo ves un grid con los datos. Puedes elegir la presentacion de esos datos, incluso sacarlos en un archivo de texto separado por comas. Para esto, elige en el menu Query, la opcion Results in Text (ctrl + T), o To file, segun sea cada caso.

Con eso te evitas tener que crear un dts de exportacion de datos para cualquier consulta que quieras hacer.


La franja horaria es GMT +2. Ahora son las 08:37:11.

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