2017-04-21 1 views
0

여러 버전을 설치하려고했지만 C# (asp.net) 코드가 액세스 데이터베이스 엔진을 인식하지 못하는 문제가있었습니다.Visual Studio를 64 비트 액세스에 연결하십시오.

Visual Studio가 32 비트 (64 비트 버전이 아닌 이유)이므로 32 비트 엔진에서만 작동합니다.

불행히도 32 비트 및 64 비트 오피스 제품은 공존 할 수 없으며 32 비트 엔진 (64 비트 사무실)을 설치할 수 없습니다.

전체 사무실 패키지를 제거하지 않고 Visual Studio를 엔진에 연결할 수있는 방법이 있습니까?

편집 : 연결 문자열을 heres 코드

public bool Connect(string connectionString) 
{ 
    if (this.connection != null) 
    { 
     if (!this.connection.State.Equals(ConnectionState.Closed)) 
     { 
      this.connection.Close(); 
     } 
    } 
    this.connection = new OleDbConnection(connectionString); 
    this.connection.Open(); 
    return true; 
} 

Provider=Microsoft.ACE.OLEDB.12.0; Data Source='|DataDirectory|\db.accdb'; Persist Security Info=False; 

PS : 나는 시도 - 캐치 그것을 둘러싸고해야 알아, 디버깅에 대한 예외를 볼 수 wan't ...

EDIT 2 : 이제는 사무실의 일부가 아니므로 ACE 공급자 대신 Jet 공급자를 사용하려고합니다 (이전 액세스 .mdb 형식 사용). VS supp orts는 현재 잘 작동하는 것 같습니다 ...

+0

Visual Studio가 문제가 아니어야하며 컴파일 된 C# 응용 프로그램이어야합니다. 32 비트 또는 64 비트 아키텍처 용으로 응용 프로그램을 컴파일합니까? Visual Studio 자체가 32 비트라는 사실은 AFAIK를 변경해서는 안됩니다. 다른 타겟 아키텍처 용으로 컴파일 할 수 있습니다. – ADyson

+0

P. VS가 32 비트 인 이유는 매우 합리적입니다.이 게시물을 참조하십시오. https://www.infoq.com/news/2016/01/VS-64-bit – ADyson

+0

구체적으로 액세스하려고 시도하고있는 것은 무엇입니까? VS 내의 일부 데이터 도구는 무엇입니까? 아니면 C#으로 작성된 ASP.NET 응용 프로그램? IDE와 프레임 워크를 혼동하지 마십시오. – mason

답변

0

db에 연결하는 데 사용하는 코드를 게시 할 수 있다면 좋을 것입니다. 하지만 여기 있습니다. 이 엔진 (https://www.microsoft.com/en-gb/download/details.aspx?id=13255) 32 비트를 설치하십시오. 시각적 스튜디오 등

32 비트 응용 프로그램 난 당신이 다음과 같은 연결 문자열

Microsoft.ACE.OLEDB.12.0 
Driver={Microsoft Access Driver (*.mdb, *.accdb)}; 

을 사용할 수 있어야 설치 한 후 갈 것을주고 그 작동하는지 알려 드릴 것입니다. 또한 코드가 도움이 될 것입니다. 작동하지 않으면 ODBC 소스의 그림을 게시하십시오. Windows 검색을 열고 odbc를 입력 한 다음 스크린 샷으로 게시물을 편집하면 설치 한 드라이버를 찾을 수 있습니다.

+0

32 비트 엔진을 설치할 수 없습니다. 왜냐하면 64 비트 오피스를 가지고 있기 때문입니다. 내가 솔루션을 다시 설치해야 할 것 같아요 :( – TulkinRB

+0

오, 알 겠어 .Oledb보다 오히려 시도해 봤어. 그 차이가 있습니다. 또한 – noyanc

+0

난 지금, 제트 공급자를 사용하여 노력하고있어. ACE 대신, 작동하지 않으면 ODBC 시도해 보겠습니다. 감사! – TulkinRB

관련 문제