모든 XP 컴퓨터에서 잘 작동하는 C# winforms 응용 프로그램이 있습니다. 우리는 새로운 승리 2008 64 비트 서버에 넣어 싶어 다음과 같은 코드를 나누기 :Windows Server 2008 dBASE ODBC 드라이버
using (OdbcConnection oConn = new OdbcConnection())
{
oConn.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=" + filePath + ";Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
oConn.Open();
OdbcCommand oCmd = oConn.CreateCommand();
oCmd.CommandText = "SELECT DISTINCT Mid(POSTCODE,1,Len(POSTCODE)-2) AS sector FROM " + shortfilename + ".dbf;";
OdbcDataReader dr = oCmd.ExecuteReader();
try
{
while (dr.Read())
{
lstSectors.Items.Add(dr.GetString(0));
}
}
catch
{
string err = "Error!";
}
finally { dr.Close(); }
}
내가 오류는 다음과 같습니다
ERROR [IM002] [마이크로 소프트] [ODBC 드라이버 관리자] 데이터 소스 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.
64 비트 ODBC 데이터 소스 관리자를 보면 dBASE 드라이버가 없지만 32 비트 (C : \ Windows \ SysWOW64 \ odbcad32.exe) , 그들은 32 비트 드라이버를 사용하는 응용 프로그램을 어떻게 얻습니까?
많은 감사
64 비트 OS를 처음 사용하기 때문에 이러한 것에 대한 지식이 부족하고 무지합니다. 응용 프로그램은 VS2005로 작성되었으며 VS2008은 서버에 있으므로 열었습니다. 이 버전의 앱을 64 비트로 만들 수 있습니까? 기사를 살펴보면 해결 방법은 32 비트 관리 도구에서 데이터 소스를 만드는 것이지만 문제점은 .dbf 파일을 쿼리 할 때마다 파일 위치가 바뀌므로 어떻게해야합니까? 데이터 소스 ..? Thanks – leddy
"Platform Target"을 "Any CPU"로 설정하여 프로젝트를 빌드하면 64 비트 OS에서 64 비트 프로세스로 실행됩니다 (64 비트 드라이버를 찾음). 32 비트가되도록 강제 실행할 수 있으며 32 비트 드라이버를 찾습니다. 하지만 "모든 cpu"옵션이 최고라고 생각합니다. 64 비트 드라이버를 설치하지 않은 것 같습니다. windows \ system32 \ odbcad32.exe를 실행하여 존재하는지 확인하십시오. 그렇지 않은 경우 mdac v7 설치를 실행하십시오. 그것들은 그 버전에 포함되기로되어 있습니다. –