Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
Exportar a DBF

Hola compañeros, necesito de su ayuda, alguien sabe como exportar datos de SQL Server 2000 (AdoQuery) a tablas DBF, pero sin ocupar BDE, estoy desesperado he buyscado por todas partes y nada de nada es increible....

gracias,

PD si son componentes que sean gratis porfavor si conocen alguno.

gracias y saludos.!

PD 2 y sin hacer recorrido por la tabla ya que eso es muy lento porfavor, gracias.

Última edición por cmm07 fecha: 20-06-2010 a las 22:56:18.
Responder Con Cita
  #2  
Antiguo 20-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
intente con los componentes ExportSite pero crea bien el dbf pero marca error al leerlo en DOS, necesito poder ver esos datos exportados en DOS.

toy con d2010

Última edición por cmm07 fecha: 21-06-2010 a las 00:03:10.
Responder Con Cita
  #3  
Antiguo 20-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que ninguno nos hemos traído hoy la bola de cristal para adivinar el error que te sale
Responder Con Cita
  #4  
Antiguo 21-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
hola, pues me dice que el archivo esta corrupto cuando intento acceder a el, y veo el interior y comparo con otro DBF y la estructura es diferente eso quiere decir q ese componente genera un dbf corrupot..
Responder Con Cita
  #5  
Antiguo 21-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un fichero dbf es "casi" un fichero de texto con la descripción de los campos en la cabecera, puede que incluso así puedas usarlo.
De todas formas, no creo que los componentes estén defectuosos, no es normal.
Responder Con Cita
  #6  
Antiguo 21-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
entonces nose porque me marca el error de archivo corrupto.
lo hago de la siguiente manera :

DataToDbf1.SaveToFile('Ejemplo.dbf');

y en dataset le coloco Adoquery1

pero al crearlo no lo puedo abrir ni en windows, en todas las aplicaciones dice archivo corrupto.

Aqui subo el componente q uso y el DBF que segun los programas está corrupto.

http://www.mediafire.com/?qie3ovjwmox

PD: Disculpa sería mucha molestia pedir tu email para conversar de este problema por MSN ahorita??? gracias. y saludos.!

PD el error exacto es : Corrupt Table/Index header
en español La cabecera de la Tabla o indice está corrupto

Última edición por cmm07 fecha: 21-06-2010 a las 00:28:05.
Responder Con Cita
  #7  
Antiguo 21-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Has hecho alguna prueba sencilla de ejemplo?, no sé si al usar Delphi2010 influye el juego de caracteres unicode al exportar.

Te recomiendo que las preguntas y dudas las haga aquí en el foro para poder ayudar a otros que tengan el mismo problema, si lo resolvemos por email/messenger nadie se enterará y no podrá resolver una duda similar.
Para eso existen los foros
Responder Con Cita
  #8  
Antiguo 21-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
hola, gracias, y la verdad al instalar el componente no me marco ningun problema, pero puede ser eso del unicode, ¿que puedo hacer? ¿de q otra forma exporto a dbf?.

gracias.
Responder Con Cita
  #9  
Antiguo 21-06-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Yo exportaria primero a msaccess que es mas familiar con sqlserver, de ahi exportaria a bdf.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 21-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
el problema es que son muchos procesos imaginate que es una base de datos de 20000 registros aprox. y pasarlo 2 veces el tiempo es el doble, necesito lo más optimizado.

gracias.!
Responder Con Cita
  #11  
Antiguo 21-06-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo que veo yo es la compativilidad, osea, que las bed sean lo mas similes posibles.
sqlserver con bdf no tienen nada en comun, estoy convencido que se cambiaran muchas cosas en el proceso.
sqlserver, mysql, access son similes.
Bdf, fdb son similes.
No creo que pasar una bd de 20000 registros tarde mas de unos minutos.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #12  
Antiguo 21-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por cmm07 Ver Mensaje
el problema es que son muchos procesos imaginate que es una base de datos de 20000 registros aprox. y pasarlo 2 veces el tiempo es el doble, necesito lo más optimizado.
gracias.!
¿20.000 registros?, eso no es nada, léelos con un dataset y lo exportas a xml, por ejemplo o a texto, ¿es sólo una tabla?
Responder Con Cita
  #13  
Antiguo 21-06-2010
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Poder: 19
jorge82 Va por buen camino
Creo que te hace falta llamar al método GetFields antes de llamar a SaveToFile, he hecho una prueba y me ha funcionado, pruébalo y nos comentas.

Saludos.
__________________
Un saludito.
Responder Con Cita
  #14  
Antiguo 21-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jorge82 Ver Mensaje
Creo que te hace falta llamar al método GetFields antes de llamar a SaveToFile, he hecho una prueba y me ha funcionado, pruébalo y nos comentas.
Saludos.
No lo he probado, pero parece lógico que sea así.
El ejemplo que viene con los componentes es este:

Código Delphi [-]
{ Copyright Federico Firenze }
{ webmaster@ffirenze.com.ar  }
{ Envíe un mail registrando su copia y recibirá novedades y actualizaciones  }

unit unMain;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, DataToXLS, DataToAscii, DataExport, DataToDbf, DB, DBTables,
  StdCtrls, Grids, DBGrids, DataToWK1, DataToHTML;

type
  TfrmMain = class(TForm)
    tblContacts: TTable;
    dsContacts: TDataSource;
    DataToDbf1: TDataToDbf;
    DataToAscii1: TDataToAscii;
    DataToXLS1: TDataToXLS;
    DataToWK11: TDataToWK1;
    SaveDialog: TSaveDialog;
    dbgContacts: TDBGrid;
    btnExport: TButton;
    lbHelp: TLabel;
    chkCopyColumns: TCheckBox;
    DataToHTML1: TDataToHTML;
    procedure btnExportClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;
var
  frmMain: TfrmMain;
implementation
{$R *.dfm}

procedure TfrmMain.btnExportClick(Sender: TObject);
  procedure DoExportFile(AExport: TDataExport; AExtencion : String);
  begin
    if chkCopyColumns.Checked Then
      AExport.GetFields.Assign( dbgContacts.Columns )
    else
      AExport.GetFields.Clear; { Dynamic Fields }
    AExport.SaveToFile( ChangeFileExt( SaveDialog.FileName, AExtencion ) );
  end;
begin
  if SaveDialog.Execute Then
    case SaveDialog.FilterIndex of
      1: DoExportFile( DataToDbf1,   '.dbf' );
      2: DoExportFile( DataToAscii1, '.csv' );
      3: DoExportFile( DataToXLS1,   '.xls' );
      4: DoExportFile( DataToWK11,   '.wk1' );
      5: DoExportFile( DataToHTML1,  '.html' );
    end;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  tblContacts.Open ;
end;
end.

Y efectivamente usa getfields

Última edición por Casimiro Notevi fecha: 21-06-2010 a las 02:06:16.
Responder Con Cita
  #15  
Antiguo 21-06-2010
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 17
cmm07 Va por buen camino
hola gracias a toodos ya solucione mi problema, tarda menos de 1 segundo en crearla, pero lo tuve q hacer sin ese componente ya que no hubo caso con los ExportSuite, lo hice gracias a este post:

http://www.clubdelphi.com/foros/showthread.php?t=27455

saludos.!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exportar con sql odrack SQL 11 15-01-2009 07:18:54
Exportar en una DLL en C++ Ege C++ Builder 1 05-04-2008 11:22:34
Exportar Alejandro73 Conexión con bases de datos 0 11-12-2007 16:20:21
Exportar *.gdb lachooo Firebird e Interbase 1 19-10-2006 12:38:58
exportar a pdf KeyMan HTML, Javascript y otros 2 20-04-2006 00:27:08


La franja horaria es GMT +2. Ahora son las 21:25:40.


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
Copyright 1996-2007 Club Delphi