2014-02-18 2 views
4

Java에서 Visual Fox Pro 데이터베이스에 일주일 간 액세스하려고했습니다. 내 프로젝트가 매우 긴밀한 예산과 일정에 있기 때문에 필사적입니다. (다른 프로젝트처럼, 하하하)Java에서 Visual FoxPro 데이터베이스에 액세스

나는 .dbf, .cdx.fpt 개의 파일을 가지고 있습니다. 나는 기록을 찾고, 데이터를 추출하고, 데이터를 업데이트 할 수 있어야한다. VFP 라이센스가 없습니다.

나는 누군가가 내가 사용할 수있는 몇 가지 지침이나 실례를 갖고 있기를 바랍니다. 유일한 방법은 운전수를 사면 내가받은 제안에 따라 기꺼이 고려할 것입니다.

이것은 내가 시도한 것에 대한 간단한 설명입니다.

이 부분을 찾았습니다. xBaseJ: java objects to read and write to dBase files. 그러나 CDX 색인 파일을 지원하지는 않습니다.

또한이 부분은 Example to access a dbf입니다. 하지만 내 테스트는이 예외를 보여 java.sql.SQLException: [Microsoft][ODBC dBase Driver] External table is not in the expected format

때문에 나는 새로운 드라이버를 필요가 있다고 생각하는 오류 : java.sql.SQLException: [Microsoft][Controlador ODBC dBase] La tabla externa no tiene el formato esperado. 은 뭔가 등이 될 수있는이 오류의 영어 번역을 것 같아요. this microsoft page에서 그들은 더 이상 ODBC 드라이버를 가지고 있지 않으며 모두가 OLE DB Provider를 사용해야한다고 말합니다. 문제는 자바에서 사용하는 방법을 찾지 못했다는 것입니다.

내가 말할 수있는 한, 바로 there is no way입니다. here 누군가 JACOB에 대해 이야기하고있는 것을 발견했습니다. 누군가 내가 C++ 또는 C# "무언가"를 만들어서 내가 필요로하는 것을 할 수 있다고 말했습니다. 나는 그가 The JACOB Project: A JAva-COM Bridge에 대해 이야기하고 있다고 생각한다. 그러나 나는 또한 COM 호출이 실제로 만들어야 할 것을 모른다.

적합한 JDBC 드라이버를 찾을 수 없습니다.

감사합니다.

엘리.

답변

8

나는 그것을하는 방법을 발견했다.

JACOB (from here)이 사용되었습니다.

  1. http://msdn.microsoft.com/en-US/vfoxpro/bb190232에서 Visual FoxPro OLE DB 드라이버를 다운로드하여 설치했습니다. 직접 연결 : Microsoft OLE DB Provider for Visual FoxPro 9.0 SP2
  2. 다운로드 된 JACOB 버전 1.17 바이너리와 소스 코드입니다.
  3. Java 빌드 경로 라이브러리로 jacob.jar이 추가되었습니다.
  4. (이클립스와 동일한 위치에 복사 됨.프로젝트 파일) 내 src 디렉토리에
  5. 복사 jacob-1.17_src\jacob-1.17\samples\com\jacob\samples\ado 내용과 하나와 일치하도록 변경 String connectStr = "Provider=vfpoledb;Data Source=C:\\path\\to\\Data\\;Collating Sequence=general;";
  6. queryStr을 :
    1. 는에 연결 문자열을 변경 Main.java
    2. test.java 이름을 변경
    3. ms 디렉토리를 제거 dbf의 이름의

다른 사람에게 도움이되기를 바랍니다.

+0

안녕하세요, 어떻게 공급자를 사용할 수 있습니까? 공급자에게 적합하지 않은 드라이버가 있다는 메시지가 나타납니다. – Gilson

+0

1 단계에서 설명한대로 드라이버를 설치했습니다. 특별한 것은 없습니다. – elysch

+0

실행중인 Windows 버전은 무엇입니까? 나는 Windows 7 64 비트를 실행 중입니다. – Gilson

0

흥미있는 foxpro 파일 용 jdbc 드라이버를 사용할 수 있습니다. this one으로 몇 가지 간단한 테스트를했고, Java에서 실제 데이터베이스를 사용하고있는 것처럼 보입니다.

감사합니다.

+0

알 수 있습니다. 나는 창을 열어야 할 때 그것을 시험해 볼 것입니다. 며칠 동안 그런 것을 찾고있었습니다 :) – elysch

+0

불행히도 CDX 인덱스 파일을 지원하지 않습니다. – sax

관련 문제