2013-11-01 1 views
2

제목에서 알 수 있듯이 openrowset을 사용하여 SQL Server에 FoxPro dbf 파일을 가져 오려고합니다. 처음에는 DBF를 xls 파일로 내보내고 가져 오기/내보내기 마법사를 사용하여 가져 오려고했습니다. 이것은 꽤 잘 정상적으로 작동하지만, 때때로 아주 긴 문자열을 포함하는 하나의 필드가 있으며이 문자열은 dbf에서 xls로 내보내는 동안 4096 자에서 잘립니다.FoxPro DBF 파일을 SQL Server로 가져 오는 중

openrowset을 사용하여이 작업을 수행하는 방법에 대한 지침이있는 old post가 있습니다. 내가 처음 답을하려고하면

: 나는 두 번째 대답하려고하면

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified". 
Msg 7303, Level 16, State 1, Line 1 
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)". 

가 :

select * 
from openrowset('VFPOLEDB', 
'\\Path\';'';'', 
'select * from TABLE.DBF') 

을 다음과 같은 에러가 발생합니다

select * 
from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver; 
SourceDB=\\path\; 
SourceType=DBF', 
'select * from TABLE.DBF') 

나는 오류가

Msg 7403, Level 16, State 1, Line 1 
The OLE DB provider "VFPOLEDB" has not been registered. 

OLE * .dll 파일을 수동으로 regsvr32로 등록하려고 시도했지만 그 중 일부만 작동했습니다. ole32, oleacc, oleaut32 및 oleprn에 성공 메시지가 있습니다. someinvestigation 내가 componet를 설치하려고하면

The module "oleacchooks" was loaded but the 
entry-point DllRegisterServer was not found. 

Make sure that "oleacchooks" is a valid DLL or OCX file 
and then try again 

,하지만 난 FoxPro에 대한 MSI 파일 (found here)를 설치하려고 할 때,이 오류가 발생했습니다 : oleacchooks, oleaccrc, oledlg 및 oleres에 나는이 오류가 발생했습니다 :

An error occurred while processing the last operation. 
Error code 80110408 - Error occurred reading the application file 

The event log may contain additional troubleshooting information. 

그래서 저는 여기에서 공식적으로 분실되었습니다. 누구나 openrowset을 작동시키는 방법이나 dbf 파일을 가져 오는 다른 방법에 대한 제안이 있습니까?

답변

3

pat이 작업에는 DBF Commander Pro를 사용할 수 있습니다.

Download it을 설치 한 후 파일 -> DBMS로 내보내기를 클릭하십시오. 윈도우가 연결 문자열을 구축하기 위해 Build 버튼을 클릭 나타납니다에서 : 다음, 목록에서 서버를 선택 로그인과 암호를 제공, SQL Server에 대한 MS OLEDB 공급자를 선택하고 데이터베이스를 선택, 확인을 클릭합니다 :

enter image description here

DBMS로 내보내기 창에서 소스 DBF 파일을 가져올 대상 테이블을 선택한 다음 내보내기를 클릭합니다.

데이터베이스에 대한 DBF 가져 오기 및 내보내기에 대한 자세한 정보는 here을 참조하십시오.

P. 응용 프로그램은 완전 기능 무료 평가판 20 일 기간이 있습니다.

+0

이 작업을 수행 한 것으로 보입니다. 엄청 고마워. 나는 이것을 며칠 동안 고심하고 있었다. 내 사장에게 라이센스 구매에 관해 이야기하겠습니다. – Pat

0

VFPOLEDB.1을 제공 업체로 사용해보십시오. 드라이버 버전 문제가 발생할 수 있습니다.

+0

같은 오류가 발생했습니다. 메시지 7403, 수준 16, 상태 1, 줄 1 OLE DB 공급자 "VFPOLEDB.1"이 (가) 등록되지 않았습니다. – Pat

+0

@Pat, Microsoft에서 VFP OleDB 공급자를 다운로드해야합니다. – DRapp

+0

@DRapp 고마워,하지만 이미 그랬어. 나는 또한 몇 번 제거/재설치했다. 그곳에서 ole * .dll 파일을 가져 왔습니다. 그것을 여기에서 발견 : http://msdn.microsoft.co.kr/ko-ko/vfoxpro/bb190232 – Pat

관련 문제