Pergunta

O meu trabalho seria mais fácil, ou pelo menos, menos entediante se eu poderia vir acima com uma maneira automatizada (de preferência em um script Python) para extrair informações úteis a partir de um banco de dados FileMaker Pro.Eu estou trabalhando na máquina Linux e o banco de dados do FileMaker está na mesma rede local executando em um sistema operacional X máquina.Eu posso entrar para o webby interface de minha máquina.

Eu sou muito a calhar com o SQL, e se alguém poderia me apontar para alguns FileMaker plug-in que poderia me dar SQL acesso a dados no FileMaker, eu ficaria satisfeito como um soco.Tudo o que eu tenho encontrado só vai por outro caminho:Tendo FileMaker obter dados a partir do SQL fontes.Não é útil.

Não é minha primeira opção, mas eu gostaria de usar o Perl ao invés de Python se houve um Perl-y solução na mão.

Nota:XML/XSLT serviços (como sugerido por algumas pessoas) estão disponíveis apenas em FM Servidor, não FM Pro.Caso contrário, que provavelmente seria a melhor solução.ODBC é transformar a ser extremamente difícil até mesmo para começar a trabalhar.Não há absolutamente nenhum feedback de FM quando você configurá-lo, então você tem que cavar através de /var/log/sistema.log e analisar obscuro mensagens de erro.

Conclusão:Eu tenho que trabalhar, executando um script python localmente na máquina que consulta o FM base de dados através de conexões ODBC.O script é realmente um TCPServer que aceita conexões de soquete de outros sistemas na rede local, executa a consulta e retorna os dados através da conexão de soquete.Eu tive que fazer isso para ignorar o fato de que a FM Pro só aceita ligações de ODBC localmente (FM server é necessário para conexões externas).

Foi útil?

Solução

Ele tem sido um realmente faz tempo que eu não fiz nada com o FileMaker Pro, mas eu sei que ele tem capacidades para um ODBC (e JDBC) conexão para ser feita a ele (no entanto, eu não sei como, ou se, o que se traduz em linux/perl/python / mundo-embora).

Este artigo mostra como compartilhar/exponha o FileMaker de dados via ODBC & JDBC:
O compartilhamento de dados do FileMaker Pro via ODBC ou JDBC

A partir daí, se você é capaz de criar um ODBC/JDBC connection, você pode consultar os dados conforme necessário.

Outras dicas

Você vai precisar do FileMaker Pro CD de instalação para obter os drivers. Este documento detalhes o processo para a FMP 9 - ele é semelhante para as versões 7.x e 8.x bem.Versões 6.x e anteriores são completamente diferentes e eu não me dei ao trabalho de experimentar (xDBC apoio nessas versões anteriores é "mínima", na melhor das hipóteses).

FMP 9 suporta o padrão SQL-92 sintaxe (principalmente).Note que, ao invés de consultar tabelas diretamente, você consulta usando a "tabela de ocorrência" nome que serve como um alias de tabela de tipos.Se as tabelas de dados são armazenados em vários arquivos é possível criar um único FMP arquivo com a tabela de ocorrências/aliases apontando para os dados de tabelas.Há um "recurso não documentado" onde o arquivo deve ter uma tabela definida no-lo bem e que a tabela de "relacionado" a qualquer outra tabela sobre as relações de gráfico (não importa qual) para acesso ODBC para o trabalho.Caso contrário, a sua consulta sempre retornará nenhum resultado.

O documento PDF detalhes de todas as limitações da utilização do xDBC interface MSF fornece.O desempenho de consultas simples é razoavelmente rápido, ymmv.Achei o desempenho de consultas especificando o "COMO" operador de ser menos do que estelar.

MSF também tem um XML/XSLT interface que você pode usar para consulta FMP dados através de uma conexão HTTP.Ele também fornece uma classe PHP para acesso e utilização FMP de dados em aplicações web.

Se o seu inclinada é Python, você pode estar interessado em verificar se o Wrapper Python para o Filemaker.Ele oferece duas vias de acesso para o Filemaker de dados Filemaker built-in de serviços de XML.Você pode encontrar algumas bastante completo de informações sobre isso em:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top