2014-02-27 5 views
0

.dbc 파일의 테이블을 ms 액세스에 연결할 수있었습니다.dbx에 foxpro dbf 파일을 커밋하는 방법은 무엇입니까?

문제는 table1.dbf가 다소 잠겨있어서 수정할 수 없어 전체 데이터를 복사하여 테이블을 만들었습니다. 이제 테이블을 자유롭게 업데이트 할 수 있습니다. 일부 행을 업데이트 한 후 dbf 파일로 내 보낸 후 원래 'table1.dbf'를 대체했습니다. 문제는 내 프로그램을 열 때 다음과 같이 표시된다는 것입니다.

Table 'table1.dbf' is not marked as belonging to the 'dbases' database. 
Would you like to create the back link to mark it? 

.dbf 파일을 사용하기 전에 커밋해야한다는 것을 이해했습니다. foxpro를 사용하지 않고 새로 'table1.dbf'를 커밋 할 수 있습니까? 나는 Visual Studio를 사용할 수 있었지만 어떻게해야하는지에 대한 튜토리얼을 찾을 수 없었다.

+0

이 문제와 관련하여 어떤 생각이 있으십니까? 나는 갇혔다. 데이터베이스의 값을 업데이트하고 싶지만 더 멀리 갈 수는 없습니다. – mmr

답변

0

FoxPro의 버퍼링 메커니즘과 관련된 테이블을 "커밋"할 필요가 없습니다. 여기에있는 오류에 대해서는 책임지지 않습니다.

FoxPro가 "데이터베이스"를 허용하도록 이전 xBase 표준을 해킹하는 방식의 단점이 있습니다. DBC 자체는 다른 테이블 집합의 이름과 필드를 나열하는 테이블이며 로컬 뷰와 기타 등의 DBC 관련 항목도 있습니다. 중복 검사를 추가하기 위해 각 테이블의 헤더가 DBC에 대한 상대 경로를 포함하도록 추가로 편집됩니다.

해당 경로가 없으면 FoxPro 정확하게 표시된 메시지를 표시합니다. "예"를 클릭하면 FoxPro가 테이블을 수정하므로 더 이상 문제가 발생하지 않습니다.


현재 Visual FoxPro가없고 응용 프로그램에 업데이트 기능이 포함되어 있지 않은 경우 두 가지 옵션이 있습니다.

1 : 매우 단순한 편집의 경우, 텍스트 편집기를 사용하여 dbf를 열 수 있습니다 (필자는 NotePad ++로 작성했습니다). 그리고 수동으로 수정하십시오. 당신이 여전히 예상 너비 인 행과 필드를 생성하는 한, FoxPro는 사용자가 변경 한 사항을 신경 쓰지 않을 것입니다.물론 이것은 입니다. 매우입니다. 오류가 발생하기 쉽기 때문에 백업을 시도하기 전에 백업을하고, 사소한 경우에는 아무 것도 시도하지 마십시오.

2 : Microsoft OLE DB Provider for Visual FoxPro을 설치하고 공급자에게 FoxPro 데이터를 관리하도록하십시오. FoxPro와 대부분 호환되는 DBF를 편집 할 Access 또는 Excel의 곧 제거 될 기능에 의존하기보다는 직접 연결을 통해 대부분의 DDL 및 DML 작업을 직접 수행 할 수 있습니다.

+0

어떻게 막 최근에 만든 테이블을 추가하려면 (.DBC) 수정합니까? 이미 Visual Studio에서 연결을 설정 했습니까? .dbf를 추가하려면 쿼리를 실행해야합니까? – mmr

+0

나는 이미 아이디어를 얻었다. 대단히 고마워. :) – mmr

+0

(mmr이 아닌 경우이 문제가 발생할 수 있으므로 OLE DB 공급자의 DBC에 연결 한 다음 ADD TABLE과 같은 FoxPro의 기본 명령을 실행하십시오.) – DougM

0

먼저 테이블이나 데이터베이스 컨테이너에서 Visual Foxpro를 사용하는지 확인하십시오.

테이블 구조에 따라 분명히별로 좋지 않지만 완전히 잃어버린 상태는 아닙니다. 사용 가능한 테이블 (데이터베이스 컨테이너의 일부가 아닌 .DBC)은 열 이름이 최대 10 자까지만 허용합니다. .DBC의 일부인 경우 열 이름이 훨씬 길어질 수 있습니다. 어쨌든, 테이블이 원래 .dbc의 일부일 때 개별 파일 헤더는 .dbc 참조로 스탬프 처리되므로 테이블이 열릴 때 자동으로 열릴 수 있습니다.

데이터베이스 컨테이너를 열어 파일을 열려고하면 헤더 연결을 찾지 못하고 해결 방법을 묻는 것입니다. 뒤로 링크하는 유일한 방법은 파일을 단독으로 열고 예 (예)로 명시 적으로 응답하여 뒤로 링크를 추가하는 것입니다.

Access에서 테이블을 참조하는 경우 연결 문자열을 만들 때 특정 테이블이 아닌 테이블이있는 경로를 가리켜 야합니다. 데이터베이스 컨테이너로 작업하는 경우 데이터 공급자를 통해 파일에 액세스하면 자동으로 열어야합니다. 추가로 연결할 수도 있지만 경로에는 데이터베이스 컨테이너의 .DBC 참조가 포함되어야합니다.

호프가 도움이 되길 바라며 후속 조치 사항이있을 경우를 대비하겠습니다.

관련 문제