스크립트의 FileMaker Pro 데이터베이스에서 데이터를 추출하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/28668

문제

FileMaker Pro 데이터베이스에서 유용한 정보를 추출하기 위해 자동화 된 방법 (가급적이면 Python 스크립트)을 생각해 낼 수 있다면 내 작업이 더 쉬울 것입니다. Linux 컴퓨터에서 작업하고 있으며 FileMaker 데이터베이스는 OS X 컴퓨터에서 실행되는 동일한 LAN에 있습니다. 내 컴퓨터에서 webby 인터페이스에 로그인 할 수 있습니다.

저는 SQL에 매우 편리합니다. 누군가가 FileMaker 내의 데이터에 대한 SQL 액세스를 제공 할 수있는 FileMaker 플러그인을 알려줄 수 있다면 펀치로 기뻐할 것입니다. 내가 찾은 모든 것은 다른 방식으로 만 진행됩니다. FileMaker가 SQL 소스에서 데이터를 가져 오도록합니다. 유용하지 않습니다.

첫 번째 선택은 아니지만 Perl-y 솔루션이 있다면 Python 대신 Perl을 사용하겠습니다.

참고 : XML / XSLT 서비스 (일부 사람들이 제안한대로)는 FM Pro가 아닌 FM 서버에서만 사용할 수 있습니다. 그렇지 않으면 아마도 최상의 솔루션이 될 것입니다. ODBC는 작동조차하기가 극도로 어렵습니다. FM을 설정할 때 피드백이 전혀 없기 때문에 /var/log/system.log를 살펴보고 모호한 오류 메시지를 구문 분석해야합니다.

결론 : ODBC 연결을 통해 FM 데이터베이스를 쿼리하는 컴퓨터에서 로컬로 Python 스크립트를 실행하여 작동했습니다. 스크립트는 실제로 LAN의 다른 시스템에서 소켓 연결을 받아들이고 쿼리를 실행하며 소켓 연결을 통해 데이터를 반환하는 TCPServer입니다. FM Pro가 로컬에서 ODBC 연결 만 허용한다는 사실을 우회하기 위해이 작업을 수행해야했습니다 (외부 연결에는 FM 서버가 필요합니다).

도움이 되었습니까?

해결책

FileMaker Pro로 어떤 작업을 수행 한 지 정말 오래되었지만 ODBC (및 JDBC) 연결 기능이 있다는 것을 알고 있습니다 (그러나 저는하지만 그것이 linux / perl / python 세계로 어떻게 변환되는지, 그렇지 않은지는 모릅니다.)

이 문서는 ODBC 및 JDBC를 통해 FileMaker 데이터를 공유 / 노출하는 방법을 보여줍니다.
ODBC 또는 JDBC를 통해 FileMaker Pro 데이터 공유

여기서 ODBC / JDBC 연결을 생성 할 수 있다면 필요에 따라 데이터를 쿼리 할 수 있습니다.

다른 팁

드라이버를 얻으려면 FileMaker Pro 설치 CD가 필요합니다. 이 문서 는 FMP 9의 프로세스를 자세히 설명하며 버전 7과 유사합니다. x 및 8.x도 마찬가지입니다. 6.x 및 이전 버전은 완전히 다르며 시도하지 않아도됩니다 (이전 버전의 xDBC 지원은 기껏해야 "최소"입니다).

FMP 9는 SQL-92 표준 구문을 지원합니다 (대부분). 테이블을 직접 쿼리하는 대신 정렬의 테이블 별칭 역할을하는 "테이블 항목"이름을 사용하여 쿼리합니다. 데이터 테이블이 여러 파일에 저장된 경우 해당 데이터 테이블을 가리키는 테이블 발생 / 별칭을 사용하여 단일 FMP 파일을 만들 수 있습니다. ODBC 액세스가 작동하려면 이러한 파일에 테이블이 정의되어 있고 관계형 그래프의 다른 테이블과 "관련된"(어느 테이블이든 상관 없음) "문서화되지 않은 기능"이 있습니다. 그렇지 않으면 쿼리가 항상 결과를 반환하지 않습니다.

PDF 문서는 FMP가 제공하는 xDBC 인터페이스 사용의 모든 제한 사항을 자세히 설명합니다. 간단한 쿼리의 성능은 상당히 빠릅니다. ymmv. "LIKE"연산자를 지정하는 쿼리의 성능이 별보다 낮다는 것을 발견했습니다.

FMP에는 HTTP 연결을 통해 FMP 데이터를 쿼리하는 데 사용할 수있는 XML / XSLT 인터페이스도 있습니다. 또한 웹 애플리케이션에서 FMP 데이터에 액세스하고 사용하기위한 PHP 클래스를 제공합니다.

Python에 관심이 있다면 Filemaker 용 Python Wrapper를 확인하는 것이 좋습니다.Filemaker의 내장 XML 서비스를 통해 Filemaker 데이터에 대한 양방향 액세스를 제공합니다.이에 대한 자세한 정보는 다음에서 찾을 수 있습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top