문제

Microsoft는 액세스 할 수있는 데이터베이스 드라이버 인 64 비트 버전의 Jet를 출시하지 않기로 선택했습니다. 좋은 대안을 아는 사람이 있습니까?

제트기가 필요한 특정 기능은 다음과 같습니다.

  • 여러 사용자가 네트워크를 통해 데이터베이스에 연결할 수 있습니다.
  • 사용자는 Windows 탐색기를 사용하여 데이터베이스를 복사 할 수 있습니다. 부패가 발생하지 않고 열려 있습니다. 액세스는 현재 고객이 필요로하는 것에 대해 충분한 안정성으로이를 수행합니다.
  • .NET없이 C ++에서 잘 작동합니다.

내가 생각할 수 없다고 생각한 대안 (내 이해가 잘못 될 수 있지만) :

  • SQLITE : 여러 사용자가 네트워크를 통해 데이터베이스에 연결하면 손상됩니다.
  • Firebird : 사용중인 데이터베이스를 복사하면 원래 데이터베이스가 손상 될 수 있습니다.
  • SQL Server : 사용중인 파일이 잠겨 있으며 복사 할 수 없습니다.
  • Vistadb : 이것은 .net별로 보입니다.
  • 32 비트로 컴파일하고 WOW64를 사용하십시오. 64 비트 기능을 사용하지 않더라도 64 비트로 컴파일 해야하는 또 다른 종속성이 있습니다.
도움이 되었습니까?

해결책

운 좋게도 지난 2 년 동안 상황이 바뀌 었습니다.

Office 2010은 64 비트 버전으로 제공되므로 Microsoft는 64 비트 버전의 제트 엔진을 만들어야했습니다. 에 따르면 Microsoft 고객 서비스 블로그,, Microsoft Access 데이터베이스 엔진 2010 재분배 가능 최근 버전의 Microsoft Access 데이터베이스 형식에 액세스 할 수있는 64 비트 드라이버가 포함되어 있습니다.

다른 팁

  • 사용자는 부패를 위험에 빠뜨리지 않고 열려있는 동안 데이터베이스를 복사 할 수 있습니다.

당신은 그렇게 할 수 없습니다 어느 여러 사용자 및/또는 프로세스가있는 데이터베이스 파일을 수정합니다.

당신이 찾고있는 것은 휴대용 .mdf 파일이있는 SQL Server Express입니다. 복사 제한을 해결하려면 해당 소프트웨어가 연결을 열어 두지 않도록해야합니다 (즉, 연결이 끊긴 데이터 액세스 계층을 만듭니다).

보려고 노력하십시오 http://www.vistadb.net/

@Orion : 동의하면, OP는 SQL 2005 Express (가능한 경우)와 함께 가야합니다. Deal Breaker는 사용 중/첨부 상태에서 DB를 복사 할 수 있으며, 이는 '파일'에서 '사용중인'파일을 복사 할 수있는 일종의 백업 도구를 사용하지 않고 SQL과 의문의 여지가 없습니다.

또 다른 방법은 백업을 자동화하고 로밍 머신으로 복원하는 것이지만 파일의 사본을 잡을 수 있다는 점에서 멀어지고 있습니다.

당신이 볼 수있는 또 다른 대안은 SQL Server Compact Edition (CE)입니다. 나는 이것이 64 비트 바이너리를 가지고 있다고 생각합니다.

또한 데이터베이스 복사에 대해 Orion과 Kev와 동의합니다.

제가해야 할 일은 64 비트 응용 프로그램이 COM과 통신 할 수있는 제트기에 연결되는 별도의 32 비트 실행 파일을 만드는 것입니다.

이것은 제트기이기 때문에 "제트와 같은 작업"에 대한 나의 일반적인 요구 사항을 충족시킵니다. 내 고객은 64 비트의 혜택을 얻지 못하지만 다른 요구 사항이 더 중요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top