일부 클라이언트에서 제공되는 .DBF 파일을 미리 볼 수있는 VB.NET 응용 프로그램이 있습니다. 그런 다음 응용 프로그램은이 파일에서 CSV를 추출하여 다양한 환경에서 사용할 수 있습니다. 이 응용 프로그램은 Windows XP 32 비트에서 작동합니다. 우리 회사는 최근에 우리 대부분을 Windows 7 x64로 업그레이드하여이 응용 프로그램을 실패하게 만들었습니다. 이 응용 프로그램의 대상 빌드가 "모든 CPU"가 아닌 x86이고 응용 프로그램을 다시 빌드했지만 동일한 문제가 발생했음을 확인했습니다.XP에서 작동했던 Windows 7의 .DBF 파일을 열 수 없습니다.
원래는 System.Data.Odbc
과 connection.ConnectionString = "Driver={Microsoft dBASE VFP Driver (*.dbf)};SourceType = DBF;SourceDB=" & dbfSourcePath & ";Exclusive=No; Collate=Machine;BACKGROUNDFETCH=NO;"
을 사용했습니다. 오류의 위치는 connection.Open()
입니다. 주어진 오류 : "ERROR [IM001] [Microsoft] [ODBC 드라이버 관리자] 드라이버가이 기능을 지원하지 않습니다".
VFP 용 드라이버가 설치되지 않았고 Access DBF 드라이버가 here 게시물과 유사하지 않은 것으로 나타났습니다. 나열된 수정 프로그램은 VFPro SP2를 설치하는 것이지만 FoxPro를 설치하지 않아도 위에 서비스 팩을 설치합니다. 그런 다음 VFP 9.0 용 OLEDB 드라이버를 설치하려고 시도했지만 System.Data.OleDb
과 connection.ConnectionString = "Provider=VFPOLEDB.1;SourceDB=" & dbfSourcePath & ";"
을 사용하고 있지만 지금은 connection.Open()
라인에 "기능을 사용할 수 없습니다"라는 메시지가 표시됩니다.
이 응용 프로그램을 Windows 7 x64에서 작동시키는 방법에 관해서는 완전히 실종 상태입니다. 다음은 읽기 쉽도록 제거 파일 열기 경로 코드의 2 개 변종이다 (I 경로 및 파일 존재 확인했습니다) :
ODBC 버전 :
Imports System.Data.Odbc
Dim strSelect As String
strSelect = "SELECT * FROM " & dbfSourceName
Dim connection As New Odbc.OdbcConnection
Dim adp As New Data.Odbc.OdbcDataAdapter
connection.ConnectionString = "Driver={Microsoft dBASE VFP Driver (*.dbf)};SourceType = DBF;SourceDB=" & dbfSourcePath & ";Exclusive=No; Collate=Machine;BACKGROUNDFETCH=NO;"
Dim command As New OdbcCommand(strSelect, connection)
connection.Open() ' Here is where it throws the error.
OLEDB 버전 :
Imports System.Data.OleDb
Dim strSelect As String
strSelect = "SELECT * FROM " & dbfSourceName
Dim connection As OleDbConnection = New OleDbConnection()
Dim adp As New Data.OleDb.OleDbDataAdapter
connection.ConnectionString = "Provider=VFPOLEDB.1;SourceDB=" & dbfSourcePath & ";"
Dim Command As New OleDbCommand(strSelect, connection)
connection.Open() 'Error occurs here.
OLEDB 또는 ODBC 연결을 사용하여 Windows 7 x64에서 .DBF 파일을 여는 방법은 무엇입니까?
확인이 : 내가 여기에 게시하기 전에 http://connectionstrings.com/dbf-foxpro –
네는 해당 사이트에 갔다. 문제는 connection.Open()이 Windows 7 x64에서 실패한다는 것입니다. ODBC 버전은 Windows XP에서 올바르게 작동했습니다. – wergeld