Ir al contenido


Foto

Proyecto MTF (MySQL to Firebird)


  • Por favor identifícate para responder
105 respuestas en este tema

#61 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 05 diciembre 2008 - 04:28

:o jajaja no hombre el "otro limbo" :D :D :D
  • 0

#62 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 05 diciembre 2008 - 08:59

Aqui está... puede verse un poco pequeño pero es fácil de arreglar  ;)

Archivos adjuntos

  • Archivo adjunto  77_.zip   59,56KB   7 descargas

  • 0

#63 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 06 diciembre 2008 - 08:25

¡Hombre!, Mejor de ahí se daña :D, ¡Excelente! ;) (y)
  • 0

#64 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 06 diciembre 2008 - 09:24

¡Hombre!, Mejor de ahí se daña :D, ¡Excelente! ;) (y)

:D :D :D... bueno, una tarea menos... ahora falta que termines el programa  :p
  • 0

#65 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 06 diciembre 2008 - 07:46

¡Pues claro!, me parece que te será de utilidad :D, bueno, sólo terminando algunos detalles en la parte donde se migran los datos, es posible que mañana esté disponible la BETA.

Saludos.
  • 0

#66 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 09 diciembre 2008 - 06:32

Hola colegas, aquí vuelvo con este asunto, estoy en la fase de migración de datos y estoy teniendo problemas con tipos de conversión de datos, especificamente con fechas, esta es la parte del código donde me da problemas:



delphi
  1. case cdTablas1.Fields[j].DataType of
  2.                   ftString,
  3.                   ftWideString: begin
  4.                         CampoPaso  := cdTablas1.Fields[j].AsString;
  5.                         CampoPaso  := StringReplace(CampoPaso,'''','´',[rfReplaceAll]);
  6.                         ValoresSQL := ValoresSQL+#39+CampoPaso+#39;
  7.                   end;
  8.                   ftMemo,ftBlob,
  9.                   ftTypedBinary,
  10.                   ftGraphic  : begin
  11.                         ValoresSQL := ValoresSQL+' NULL';
  12.                         //ValoresSQL := ValoresSQL+' :BLOB'+inttostr(i);
  13.                         CampoBlob  := True;
  14.                   end;
  15.                   ftDate,
  16.                   ftTime,
  17.                   ftDateTime,
  18.                   ftTimeStamp : begin //AQUI EL PROBLEMA
  19.                         if (cdTablas1.Fields[j].AsDateTime = NULL) or (cdTablas1.Fields[j].AsDateTime = 1899-12-30) then
  20.                           ValoresSQL := ValoresSQL+' NULL'
  21.                         else ValoresSQL := ValoresSQL+#39+DateToStr(cdTablas1.Fields[j].AsDateTime)+#39;
  22.                         ValoresSQL := StringReplace(ValoresSQL,'/','.',[rfReplaceAll]);
  23.                   end;
  24.                   ftInteger,
  25.                   ftSmallint : begin
  26.                         if cdTablas1.Fields[j].AsString = '' then
  27.                             ValoresSQL := ValoresSQL+'0'
  28.                         else ValoresSQL := ValoresSQL+cdTablas1.Fields[j].AsString;
  29.                   end;
  30.                   ftFloat,
  31.                   ftCurrency  : begin
  32.                         if cdTablas1.Fields[j].AsString = '' then
  33.                             ValoresSQL := ValoresSQL+'0.00'
  34.                         else ValoresSQL := ValoresSQL+cdTablas1.Fields[j].AsString;
  35.                   end;
  36.                   ftBoolean  : begin
  37.                         if cdTablas1.Fields[j].Value = True then
  38.                             ValoresSQL := ValoresSQL+'1'
  39.                         else ValoresSQL := ValoresSQL+'0';
  40.                   end;
  41.                   else begin
  42.                         ValoresSQL := ValoresSQL+cdTablas1.Fields[j].AsString;
  43.                   end;



y este es el error que me tira:

---------------------------
Debugger Exception Notification
---------------------------
Project MTF.exe raised exception class EIBInterBaseError with message 'conversion error from string "1899-12-30"'. Process stopped. Use Step or Run to continue.
---------------------------
OK  Help 
---------------------------


Una manita por favor.

Saludos.

  • 0

#67 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 09 diciembre 2008 - 06:37

Bueno haciendo otros arreglos tengo esto:

                 

delphi
  1. ftDate,
  2.                   ftTime,
  3.                   ftDateTime,
  4.                   ftTimeStamp : begin
  5.                         if DateToStr(cdTablas1.Fields[j].AsDateTime) = '' then
  6.                           ValoresSQL := ValoresSQL+' NULL'
  7.                         else ValoresSQL := ValoresSQL+#39+cdTablas1.Fields[j].AsString+#39;
  8.                         ValoresSQL := StringReplace(ValoresSQL,'/','.',[rfReplaceAll]);
  9.                   end;



¿Resultado?:


---------------------------
Debugger Exception Notification
---------------------------
Project MTF.exe raised exception class EIBInterBaseError with message 'conversion error from string ""'. Process stopped. Use Step or Run to continue.
---------------------------
OK  Help 
---------------------------


Saludos.

  • 0

#68 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 10 diciembre 2008 - 07:14

Espero que esta pequeña modificación te sirva:

                 

delphi
  1. ftDate,
  2.                   ftTime,
  3.                   ftDateTime,
  4.                   ftTimeStamp : begin
  5.                         if DateToStr(cdTablas1.Fields[j].AsDateTime) = '' then
  6.                           ValoresSQL := ValoresSQL+' NULL'
  7.                         else
  8.                           ValoresSQL := ValoresSQL+#39+FormatDateTime('mm/dd/yyyy', cdTablas1.Fields[j].AsDate)+#39;
  9.                         ValoresSQL := StringReplace(ValoresSQL,'/','.',[rfReplaceAll]);
  10.                   end;


  • 0

#69 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 10 diciembre 2008 - 07:41

Muchas gracias Eduardo más tarde lo pruebo ;)

Saludos.
  • 0

#70 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 11 diciembre 2008 - 04:01

Hola Eduardo, con tu modificación me da este error:

---------------------------
Debugger Exception Notification
---------------------------
Project MTF.exe raised exception class EIBInterBaseError with message 'conversion error from string "12/30/1899"'. Process stopped. Use Step or Run to continue.
---------------------------
OK  Help 
---------------------------


Voy a separar los campos de tipo time a ver si el problema proviene de ahí.

Saludos.
  • 0

#71 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 11 diciembre 2008 - 04:07

Hola Eduardo, con tu modificación me da este error:


---------------------------
Debugger Exception Notification
---------------------------
Project MTF.exe raised exception class EIBInterBaseError with message 'conversion error from string "12/30/1899"'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------


Voy a separar los campos de tipo time a ver si el problema proviene de ahí.

Saludos.


Que tipo de campo es, Date, Time o DateTime ???

Por otro lado, parece que Firebird solo acepta este formato de fecha 11.12.2008 no se si es pase con MySQL.

Salud OS
  • 0

#72 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 11 diciembre 2008 - 04:11

Los campos son Date y Time, ¿A qué te refieres con que sólo acepta formato "11.12.2008"?, ¿que se separan por puntos?.

Saludos.
  • 0

#73 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 11 diciembre 2008 - 04:18

Los campos son Date y Time, ¿A qué te refieres con que sólo acepta formato "11.12.2008"?, ¿que se separan por puntos?.

Saludos.


En mis programas con firebird ese es el formato que uso porque creo recordar que me enviaba un error en la fecha si usaba "/" de separador.

Salud OS
  • 0

#74 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 11 diciembre 2008 - 06:08

Pues corrigiendo aquí y allá, logré pasar esa parte, pero me sucede otro error:

---------------------------
Debugger Exception Notification
---------------------------
Project MTF.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error
SQL error code = -206
Column unknown
NO1
At line 1, column 23'. Process stopped. Use Step or Run to continue.
---------------------------
OK  Help 
---------------------------


No entiendo el error, el campo NO1 sí existe pero me dice que no.  8o|

Saludos.

  • 0

#75 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 diciembre 2008 - 07:02

y que fue lo que movistes aqui y alla? por fin como te acepto la fecha?

con respecto a ese error seria bueno que dijeras que instruccion exactamente esta ejecutando cuando sucede, porque de lo contrario seria tratar de adivinar.
  • 0

#76 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 diciembre 2008 - 07:14

Pues coloqué tu solución y la de Eliseo de colocar los puntos en vez del separador, así pasa sin problemas y graba las fechas correctamente, pero tengo éste último problema, el campo está creado pero no la encuentra.

Saludos.

PD: Llegué a poner un showmessage para ver las SENTENCIAS y hasta ahora está correctamente.
  • 0

#77 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 diciembre 2008 - 07:31

pero no has aislado la sentencia que te arroja el error?
  • 0

#78 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 diciembre 2008 - 07:50

Lo extraño es, que hay varias tablas con ese campo, por ejemplo:

tabla1
tabla2 -> tiene el campo NO1 y se graba Bien
tabla3 -> tiene el campo NO1 y se graba bien
tabla4 -> se graban los datos
tabla5 -> deja de grabar
...
tabla38

Saludos.
  • 0

#79 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 diciembre 2008 - 08:23

NO1 = N01??? has verificado eso?
  • 0

#80 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 diciembre 2008 - 08:33

NO1 = N01??? has verificado eso?


Pues no lo he revisado, aunque dudo que se así, más tarde te comento ya que no lo tengo aquí.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.