Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Exportar BD de Filemaker a MySQL

Estas en el tema de Exportar BD de Filemaker a MySQL en el foro de Mysql en Foros del Web. Wenas a todos! Este es mi primer mensaje y mi primera consulta, aunque creo q muy provablemente no será la última... Quiero pasar una BD ...

  #1 (permalink)  
Antiguo 15/04/2009, 10:10
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Exportar BD de Filemaker a MySQL

Wenas a todos!

Este es mi primer mensaje y mi primera consulta, aunque creo q muy provablemente no será la última...

Quiero pasar una BD Filemaker enterita a MySQL por necesidad, para luego trabajar con PHP y PhpMyAdmin.

Alguienpuede aconsejarme como hacerlo, guiarme por donde empezar?? Ya veis q ando un poko perdido...

Gracias de antemano!!
  #2 (permalink)  
Antiguo 15/04/2009, 11:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

Para que te hagas una idea de la problemática de tal cambio, echa un vistazo a este enlace:
http://dev.mysql.com/tech-resources/...itepaper01.htm
  #3 (permalink)  
Antiguo 16/04/2009, 03:56
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Buff! Pues si q hay problemàtica si... Alguien ha conseguido hacerlo? Siguiendo este tutorial?

Merci!!
  #4 (permalink)  
Antiguo 17/04/2009, 09:43
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Uppp!!!!!!
  #5 (permalink)  
Antiguo 17/04/2009, 10:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

senafe,

yo no lo he puesto en práctica, aunque gran parte de la lógica que he visto por encima en el artículo me parece muy correcta. No obstante, dependerá de qué tengas en tu base de datos FileMaker. Si todos los campos son numéricos o de texto, no has guardado imágenes, apenas tienes scripts y no te preocupa demasiado ahora rehacer las consultas, y además tu base no tiene demasiadas tablas, podrías exportar los datos a un archivo de tipo text, csv o lo que sea, y luego crear las tablas en MySQL e importar, teniendo buen cuidado de que la longitud de los campos y la naturaleza sea la adecuada, además de vigilar los nombres que das a los campos en MySQL, y sobre todo tener previstas en MySQL las relaciones que tienes establecidas en FileMaker Pro. No creo que sea tan complicado si haces algunas pruebas. Los datos son lo importante, luego vendrán las consultas...
  #6 (permalink)  
Antiguo 22/04/2009, 09:57
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Exactamente, lo q me importa es el volumen de datos, las consultas las crearé luego.

Seguiré tus consejos y a ver si hay suertee. La base de datos q tengo q exortar es sencillita, no hay apenas relaciones, la mayoria de campos son numéricos i de texto y hay pocas tablas.

Ya os cuento...
  #7 (permalink)  
Antiguo 01/06/2009, 04:57
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Ola de nuevo!

Os cuento,

he exportado my BD de filemaker a un archivo '.csv'.

Seguidamente, importo este archivo desde la BD q tengo creada en MySQL, pero me sale el siguiente error:
"Contador de campos incorrecto en la entrada CSV a la linia 1."

El formato del archivo .csv q importo es el siguiente:

"sergi","1","snadal","12345"
"albert","2","agarcia","abcd"
"carme","3","cpujol","pupujol"
"rafael","4","rafitu","tgnbcntgn"
"antoni","5","abatalla","warrintom"

Y la tabla vacia q tengo creada donde tendrian q ir los datos contiene los 4 campos creados, aparentemente, de manera correcta:

nom varchar(30)
id int(11)
user varchar(15)
password varchar(15)

Alguien sabe donde esta el error??

Y otra cosa, he encontrado este hilo del foro " forosdelweb.com/f86/importar-csv-mysql-466832/ " para executar una sentencia en php para importar datos desde '.csv'.

Esto me serviria tb? Donde "pongo" el codigo para poder executarlo (utilizo el wampserver)?

A ver si me podeis hechar un cable!!
Mil gracias!!! xDD
  #8 (permalink)  
Antiguo 01/06/2009, 05:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

Si usas el PHPMyAdmin, en importar datos CSV donde aparece "campos terminados en" escribes una coma , (por defecto aparece punto y coma, ;), y luego pruebas.
  #9 (permalink)  
Antiguo 01/06/2009, 05:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Exportar BD de Filemaker a MySQL

El error podria venir de el id entrecomillado


"sergi","1","snadal","12345"
...


cuando lo tienes definido como int, debes investigar como indicarle que todos los campos van encerrados con " independientemente de su formato....(OPTIONALLY ENCLOSED BY '"')

nom varchar(30)
id int(11)
user varchar(15)
password varchar(15)

en cuanto a donde poner el codigo

Código sql:
Ver original
  1. LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
  2. FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  3. LINES TERMINATED BY '\n';

creo que debes ponerlo en el mismo sitio donde pondrias un SELECT normal....

No uso wampserver.... yo uso las gui tools de mysql alli se ejecutaria con el querybrowser creo...

Quim
  #10 (permalink)  
Antiguo 01/06/2009, 06:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

Podría ser lo que dice Quim, pero si estás importando con PHPMyAdmin, tanto el formato CSV como CSV usando LOAD DATA traen como parámetro por defecto campos encerrados entre '"'. Por eso sólo te dije lo de la coma.
  #11 (permalink)  
Antiguo 01/06/2009, 09:13
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Solucionado!

Uso phpMyAdmin, he canviado lo de la coma y he conseguido hacer la importación ;)

Muchas gracias x vuestras respuestas!!

Ahora tengo otro "problema".
Tengo q hacer otra importación del mismo estilo, pero los datos q tengo deben ir en diferentes tablas.

Como puedo hacerlo? Realizando, para cada tabla diferente, un archivo '.csv' o hay alguna manera de exportar todos los datos en un '.csv' y después "partirlos" y ponerlos en las diferentes tablas?

Merci!!

Última edición por senafe; 01/06/2009 a las 09:23
  #12 (permalink)  
Antiguo 01/06/2009, 09:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

es mejor hacerlo tabla por tabla, tanto por lo que se refiere a la exportación desde FileMaker como por la importación desde MySQL.
  #13 (permalink)  
Antiguo 01/06/2009, 10:07
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Oks Jurena, pues voy a provarlo así.
A ver si los campos q no son ni numéricos ni de texto no me dan demasiados problemas a la hora de importarlos...

  #14 (permalink)  
Antiguo 01/06/2009, 10:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

senafe,
ve con cierto orden en lo de las tablas. No sé qué motor estás usando en MySQL. Si se trata de MyIsam, no tendrás problema, pero si usas InnoDB, debes seguir un orden en las tablas, y primero crear las tablas donde están las primary Keys, y luego la tabla con las Foreign keys. Vigila eso con atención, si es que usas InnoDB.
  #15 (permalink)  
Antiguo 01/06/2009, 10:35
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Pues no sé donde mirar esto del motor que uso en MySQL... en la página principal del phpMyAdmin no lo veo x ningún sitio...
  #16 (permalink)  
Antiguo 01/06/2009, 10:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

En PHPMyAdmin, al abrir la base verás las tablas, donde pone tipo, está escrito MyIsam o InnoDB.

Y si escribes en el SQL
Código sql:
Ver original
  1. SHOW CREATE TABLE nombretabla
entre otros parámetros de creación de la tabla, aparecerá ENGINE= y el motor usado.

Es muy importante que sepas a lo que te enfrentas y sus diferencias, porque si se trata de InnoDB tendrás que ir con mucho cuidado a la hora de crear las tablas, porque tendrás que indicar los foreign key y, como te he dicho, lo tendrás que hacer con un orden determinado. Eso no quiere decir que sea peor, sino que al principio tendrás que controlar algo más, aunque seguramente sea mejor para el futuro.
En cuanto a lo de los números, si usas decimales revisa el formato, pues si se separan con comas, como solemos hacer en español, habrá que hacer el cambio a un formato con separación mediante punto, que es lo que acepta MySQL, y lo que no te causará problema en el archivo CSV cuya separación de campos se hace, como has visto, mediante comas.
Vigila la naturaleza de los campos. Ve poco a poco y dando pasos seguros.

Última edición por jurena; 01/06/2009 a las 11:02
  #17 (permalink)  
Antiguo 01/06/2009, 11:12
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Pues uso el motor MyIsam !!

Es lo q estoy haciendo, ir poco a poco i dando pasos seguros, ya q al final la BD q tengo q exportar contiene bastantes registros y al tener mucho volumen d datos despues se multiplican los problemas
  #18 (permalink)  
Antiguo 01/06/2009, 11:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

Pues, si es así, tendrás que controlar las relaciones y la integridad relacional con programación, y la base no te ayudará mucho. Por contra, lo que haces ahora será más fácil. Lee un poco sobre las diferencias y piensa si te compensa volver atrás.

Última edición por jurena; 01/06/2009 a las 12:06
  #19 (permalink)  
Antiguo 01/06/2009, 13:46
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

La BD original(Filemaker) q tengo q migrar a MySQL tiene ya unos kuantos años y sólo consta de una única tabla (eso sí, kon un gran volumen de información) donde està metida ahí todos los datos. Por lo tanto no hay relaciones las cuales sí q crearé en la nueva BD que contendrá en principio 3 tablas.

  #20 (permalink)  
Antiguo 03/06/2009, 03:39
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

No hay problemas:

1. Utiliza phpMyAdmin y será muy fácil.
2. Exporta la base de datos FileMaker con la opción archivo «.cvs» y mantener formato de campos si quieres que te mantenga los acentos, caracteres, etc.
—*Exporta separando los campos por «,» (comas).
Desde phpMyAdmin
—*Tienes que tener la base de datos y la tabla creada
—*La tabla tiene que tener LOS MISMOS CAMPOS que la de FileMaker, si no, se te recorrerán estos.
—*Cuidado con el formato de los campos (TINYINT, DATE, etc.), por lo general, utiliza VARCHAR.
3. Vete a la opción de importación de phpMyAdmin, en tu base de datos y tabla
4. Selecciona formato de archivo .CVS con la opción UTILIZANDO LOAD DATA
5. Sigue las siguientes pautas:
—*«Reemplazar datos de tabla con los de archivo»
—*«Campos terminados en «,» (coma)
—*«Campos encerrados por ""»
—*«Carácter de escape "\"»
—*«Líneas terminadas por «\r» MUY IMPORTANTE porque es como exporta FileMaker el cambio de línea.

Por lo demás, es muy sencillo, tendrás tu tabla en mySQL en breves milisegundos.
  #21 (permalink)  
Antiguo 03/06/2009, 03:57
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Bueno, pues ya he hecho la importación y de momento todo ha ido correctamente, menos en el caso d'importar un campo de formato fecha, q me canvia el dia x el año...

pero ahora mi problema es otro. Tengo una BD con 3 tablas y no encuentro x ningun lugar la opción para relacionarlas:

img102.imageshack.us/img102/6620/vistarelaciones.jpg -> copiar/pegar para ver imagen en el navegador, q aún no me deja colgar links akí en el foro xDD

tendría q star ahí la opción de "vista de relaciones", pero no me sale...
Q puedo hacer???

Merci!!
  #22 (permalink)  
Antiguo 03/06/2009, 08:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

Ni la encontrarás en el caso de las tablas MyIsam. La relación en unas tablas MyIsam la controlas totalmente con programación, no con el motor de base de datos. Eso no quiere decir que no puedas relacionar tablas, pues puedes hacerlo mediante la sintaxis SQL y la programación. Es algo más laborioso, pero todas las tablas MyIsam que manejamos funcionar con relaciones, aunque el motor no te ayuda nada.

En cuanto al campo fecha, deberías exportar en un formato stándard para base de datos: yyyy/mm/dd
  #23 (permalink)  
Antiguo 03/06/2009, 09:25
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Y q me aconsejas, canviar el motor de las tablas o o crear las relaciones con sintaxis SQL??

Si canvio el motor de las tablas, cuál me aconsejarías?
Y en el segundo caso, como puedo hacerlo o donde puedo encontrar info q explike como relacionar tablas MyIsam??


gracias!!

Edito: se puede canviar el motor de las tablas una vez estas ya estan creadas? así lo canviaria a InnoDB.

EDITO2: He conseguido canviar el motor de las tablas a InnoDB!! He exportado la BD en un fichero '.sql'. Lo he abierto con el bloc de notas, y hay la variable 'engine' para cada tabla donde se define el motor. He canviado el valor de myIsam x InnoDB, he importado la BD de nuevo y ahora ya me sale el icono para crear relaciones. No sé si es la solución más acertada pero d momento me sirve paracontinuar trabajando...

Última edición por senafe; 03/06/2009 a las 09:46
  #24 (permalink)  
Antiguo 03/06/2009, 16:28
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

weno, pues al final he veulto a crear la BD de nuevo y he establecido q el motor de las tablas sea el InnoDB.

Como me digiste jurena, primero he creado las tablas con las primary keys i luego la tabla donde van los foreign keys. Pero a la hora de establecer la relacion entre estos indices me sale el siguiente error:

ALTER TABLE `document` ADD FOREIGN KEY ( `id_informant` ) REFERENCES `folklore3`.`informant` (
`id`
);

MySQL diu: Documentació
#1452 - Cannot add or update a child row: a foreign key constraint fails (`folklore3`.`#sql-194_e8`, CONSTRAINT `#sql-194_e8_ibfk_1` FOREIGN KEY (`id_informant`) REFERENCES `informant` (`id`))


No sé si de akí se puede sacar alguna conclusión...mañana volveré a provarlo a ver si hay más suerte...


merci!!
  #25 (permalink)  
Antiguo 11/06/2009, 10:37
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Weno, despues d varias pruebas, aún no he conseguido crear las relaciones en las tablas de mi BD. Ni en el caso de las tabls InnoDB ni tmpoco con sentencias SQL (tablas MyISAM).

Os cuento lo q tengo a ver si entre todos podemos sacar alguna conclusión...

primero creo las 3 tablas solo con los campos q tengo q importar de un archivo '.csv'.

Una vez importados los datos, creo las claves primarias d todas las tablas (campos id).

Ahora, sólo una de estas 3 tablas tiene referencia d las otras 2. Por lo tanto, me dirijo a esta tabla i creo 2 campos mas (id_tab1, id_tab2) q son d tipo índice.

Seguidamente, en la tabla en la cual tienen q ir las relaciones le doy a la opción 'vista d relaciones' para definir, claro está, las relaciones a partir de los indices q he creado anteriormente.

Y ahora es cuando me sale el siguiente error:

Errada

crida SQL:

ALTER TABLE `document` ADD FOREIGN KEY ( `id_informant` ) REFERENCES `folk`.`infomant` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;

MySQL diu: Documentació
#1452 - Cannot add or update a child row: a foreign key constraint fails (`folk`.`#sql-10a0_9d`, CONSTRAINT `#sql-10a0_9d_ibfk_1` FOREIGN KEY (`id_informant`) REFERENCES `infomant` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)



Jurena me comentó q tubiera cuidado a la hora d crear las primary keys y las foreign keys en tablas con motor InnoDB (he provado distintos ordenes) pero no consigo q me salga...


Cómo lo veis?? xDDD

Gracias!!!
  #26 (permalink)  
Antiguo 11/06/2009, 13:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Exportar BD de Filemaker a MySQL

senafe,
dinos cómo estarían las tablas y las relaciones entre ellas. Seguro que con esa información, alguien con experiencia en InnoDB podría orientarte sobre la sintaxis de creación y orden de importación.
  #27 (permalink)  
Antiguo 11/06/2009, 14:49
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Hacer un cop/peg d este enlace en el navegador q es una imagen de la estructura de las tablas y sus relaciones:

img34.imageshack.us/img34/8254/realtions.jpg

Última edición por senafe; 11/06/2009 a las 14:55
  #28 (permalink)  
Antiguo 11/06/2009, 16:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Exportar BD de Filemaker a MySQL

En tu ejemplo no veo ninguna de las tablas mencionadas en este código:
Código sql:
Ver original
  1. ALTER TABLE `document` ADD FOREIGN KEY ( `id_informant` ) REFERENCES `folk`.`infomant` (
  2. `id`
  3. ) ON DELETE CASCADE ON UPDATE CASCADE ;

Deberías el modelo de las tablas con las que estás intentando realizar esa tarea, ya que evidentemente no son esas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #29 (permalink)  
Antiguo 11/06/2009, 16:56
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Sorry!

ahora ya stan los nombres bien!!

img40.imageshack.us/img40/8254/realtions.jpg


  #30 (permalink)  
Antiguo 11/06/2009, 17:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Exportar BD de Filemaker a MySQL

Tu problema en esencia es que ya hay datos en esas tablas, y al menos uno de los registros no cumple con la restricción de FK.
Esto significa que en `document`hay un registro al menos que en el campo id_informant contiene un valor que no existe en informant.
Una prueba posible sería hacer una copia de las tablas en otra base y probar la creación de las restricciones con las tablas vacías.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:55.