Pregunta

Mi trabajo sería más fácil, o al menos menos tedioso, si pudiera encontrar una forma automatizada (preferiblemente en un script Python) de extraer información útil de una base de datos de FileMaker Pro.Estoy trabajando en una máquina Linux y la base de datos de FileMaker está en la misma LAN que se ejecuta en una máquina OS X.Puedo iniciar sesión en la interfaz webby desde mi máquina.

Soy bastante hábil con SQL, y si alguien pudiera indicarme algún complemento de FileMaker que pudiera darme acceso SQL a los datos dentro de FileMaker, estaría encantado.Todo lo que he encontrado sólo va en sentido contrario:Hacer que FileMaker obtenga datos de fuentes SQL.Inútil.

No es mi primera opción, pero usaría Perl en lugar de Python si tuviera una solución Perl-y a mano.

Nota:Los servicios XML/XSLT (como lo sugieren algunas personas) solo están disponibles en FM Server, no en FM Pro.De lo contrario, esa sería probablemente la mejor solución.ODBC está resultando extremadamente difícil incluso de conseguir que funcione.No hay absolutamente ninguna respuesta de FM cuando lo configura, por lo que debe buscar en /var/log/system.log y analizar mensajes de error oscuros.

Conclusión:Lo hice funcionar ejecutando un script de Python localmente en la máquina que consulta la base de datos de FM a través de las conexiones ODBC.El script es en realidad un servidor TCP que acepta conexiones de socket de otros sistemas en la LAN, ejecuta las consultas y devuelve los datos a través de la conexión de socket.Tuve que hacer esto para evitar el hecho de que FM Pro solo acepta conexiones ODBC localmente (se requiere un servidor FM para conexiones externas).

¿Fue útil?

Solución

ha sido un en realidad Hace mucho tiempo que no hago nada con FileMaker Pro, pero sé que tiene capacidades para establecer una conexión ODBC (y JDBC) (sin embargo, no sé cómo, o si, eso se traduce en Linux/ mundo perl/python).

Este artículo muestra cómo compartir/exponer sus datos de FileMaker a través de ODBC y JDBC:
Compartir datos de FileMaker Pro mediante ODBC o JDBC

A partir de ahí, si puede crear una conexión ODBC/JDBC, puede consultar los datos según sea necesario.

Otros consejos

Necesitará el CD de instalación de FileMaker Pro para obtener los controladores. Este documento detalla el proceso para FMP 9; también es similar para las versiones 7.x y 8.x.Las versiones 6.x y anteriores son completamente diferentes y no me molestaría en intentarlo (la compatibilidad con xDBC en esas versiones anteriores es "mínima" en el mejor de los casos).

FMP 9 admite la sintaxis estándar SQL-92 (principalmente).Tenga en cuenta que, en lugar de consultar tablas directamente, consulte utilizando el nombre de "ocurrencia de tabla", que sirve como una especie de alias de tabla.Si las tablas de datos se almacenan en varios archivos, es posible crear un único archivo FMP con apariciones/alias de tablas que apunten a esas tablas de datos.Hay una "característica no documentada" en la que dicho archivo también debe tener una tabla definida y esa tabla "relacionada" con cualquier otra tabla en el gráfico de relaciones (no importa cuál) para que funcione el acceso ODBC.De lo contrario, sus consultas siempre no arrojarán resultados.

El documento PDF detalla todas las limitaciones del uso de la interfaz xDBC que proporciona FMP.La realización de consultas simples es razonablemente rápida, mmm.He descubierto que el rendimiento de las consultas que especifican el operador "LIKE" no es tan excelente.

FMP también tiene una interfaz XML/XSLT que puede utilizar para consultar datos de FMP a través de una conexión HTTP.También proporciona una clase PHP para acceder y utilizar datos FMP en aplicaciones web.

Si se inclina por Python, es posible que le interese consultar Python Wrapper para Filemaker.Proporciona acceso bidireccional a los datos de Filemaker a través de los servicios XML integrados de Filemaker.Puede encontrar información bastante completa sobre esto en:

http://code.google.com/p/pyfilemaker/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top