2016-10-27 2 views
0

64 비트 Windows 시스템 (Windows Server 2012)에서 실행되는 ASP.NET MVC 애플리케이션 (64 비트)이 있습니다.64 비트 OS에서 64 비트에서 mdb 파일을 읽을 때 데이터 소스 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다. app :

내 웹 응용 프로그램이 MDB 데이터베이스를 읽을 필요가, 그럼 내가 다음 코드를 생성 :

fileNameWithPath는 MDB 파일의 경로입니다
using (var myConnection = new OdbcConnection()) 
{      
    try 
    { 
     string myConnectionString = @"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + fileNameWithPath + ";Persist Security Info=True"; 
     myConnection.ConnectionString = myConnectionString; 
     myConnection.Open(); 

     OdbcCommand cmd = myConnection.CreateCommand(); 
     cmd.CommandText = "SELECT * FROM myTable"; 
     OdbcDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); 

     // Load the result into a DataTable 
     myDataTable = new DataTable(); 
     myDataTable.Load(reader); 
    } 
    catch (Exception exception) 
    { 
     //nexy exception is caught here: "ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" 
    } 
    finally 
    { 
     myConnection.Close(); 
    } 
} 

. 발견

ERROR [IM002] [마이크로 소프트] [ODBC 드라이버 관리자] 데이터 원본 이름이 아닙니다 : 나는 위의 코드를 실행하면

, 나는 라인에서 다음 짜증나는 예외

myConnection.Open();

: 및 기본 드라이버는 내가 서버를 확인했습니다하고 ODBC 드라이버에 대한 설치 한 다음 파일이

을 지정하지 폴더 C에서 파일 odbcad32.exe를

: \ WINDOWS \ SYSTEM32 폴더 C에서

파일 odbcad32.exe를 : \ WINDOWS \ SysWOW64와

내 질문은이 : 그 내 서버 설정이 정확합니까? 64 비트 버전의 ODBC를 실제로 설치 했습니까?

이상이 중요합니다.과 같은 구성으로 x64 서버에서 x64 응용 프로그램을 실행할 수 있습니까? 그렇지 않으면 다른 대안이 있습니까?

  • 웹 응용 프로그램이 64 비트

사전에 감사해야합니다 서버

  • 에 추가 소프트웨어를 설치을 할 수 없습니다 : 언급 할 가치가있다.

  • 답변

    1

    Access 데이터베이스 엔진의 x32 비트 버전을 사용하려면 해당 컴퓨터에 설치된 데이터베이스 엔진의 x32 비트 버전이 필요합니다.

    그리고 Access 데이터베이스 엔진의 x64 비트 버전을 사용하려면 x64 비트 버전의 Access 데이터베이스 엔진이 설치되어 있어야합니다.

    그리고 오라클 데이터베이스를 읽어야 할 필요가 있다면 디스크 드라이브에 상주하는 oracle 파일을 읽으려면 oracle 데이터베이스 엔진이 설치되어 있어야합니다.

    oracle과 같은 추가 소프트웨어를 설치할 수 없거나 SQL Server에서 SQL Server 파일을 읽거나이 경우 Access를 설치할 수없는 경우 오리 비누가됩니다. 그리고 실제로 PDF 파일을 읽으려면 PDF 파일 소프트웨어가 필요합니다.

    서버에 적절한 소프트웨어를 설치할 수 없다는 문제를 해결할 수 없다면, 해당 소프트웨어가 사용하는 주어진 파일을 읽을 수 없을 것입니다. 이것은 모든 소프트웨어 시스템 근처에 적용됩니다. 그러한 파일을 사용하려면 해당 서버에 적절한 소프트웨어를 설치해야합니다.

    따라서 Access 데이터베이스 엔진 (ACE)의 x32 및 x64 비트 버전이 모두 존재하며 이러한 소프트웨어를 설치할 수있는 권한이 없으면 이러한 데이터를 읽고 소비 할 수 없습니다.

    소프트웨어를 개발할 때 단어 파일이나 pdf 파일을 열거 나 모든 소프트웨어 시스템을 열려면 이러한 파일을 사용하도록 apocopate 소프트웨어를 설치해야합니다. 액세스도 예외는 아닙니다. 파워 포인트 파일을 열어야한다면 해당 컴퓨터에 파워 포인트 소프트웨어가 설치되어 있어야합니다.

    따라서 해당 서버에 x64 비트 버전의 Access 데이터베이스 엔진을 설치해야합니다. 그리고 소프트웨어를 설치할 수 없다는 것을 알기 때문에 목표를 달성하기가 쉽지 않습니다.

    +0

    당신의 위대한 설명에 감사드립니다. 모든 점에서 완전히 동의합니다. 때때로 추가 소프트웨어없이 저주받은 mdb 파일을 읽는 방법을 관리하고 파악할 것이라고 생각하는 관리자에게 설명하기가 어렵습니다. 적절한 소프트웨어를 설치할 수 있도록 이미 언급되고 지적되었습니다. 다시 한번 자세한 설명을 해주셔서 감사합니다. – Carlos

    관련 문제