2009-04-27 1 views
1

C++ 내에서 Access의 압축 및 복구 데이터베이스 유틸리티를 호출하려면 어떻게해야합니까? 이미 ADO와 ADOX를 사용하고 있으므로 이들 중 하나를 사용하는 솔루션이 편리 할 것입니다.프로그래밍 방식으로 데이터베이스 압축 및 복구

+0

간단히 말하면 압축 및 복구는 독립적 인 작업이 아닙니다. Jet 3.5 SR2 (c. 1998) 이후에는 별도의 복구 명령이 없으며 압축 파일 만 제공됩니다. 컴팩트는 실행중인 MDB의 무결성을 검사하며 복구해야하는 경우 MDB의 무결성을 검사합니다. 손상되지 않은 MDB에서 실행하면 손상 될 수 있으므로 MS는 별도의 복구 명령을 제거했습니다. –

+0

MDB가 어떻게 손상 될 수 있는지에 대한 또 다른 예제 :) – onedaywhen

답변

2

비슷한으로 :

How can I programmatically repair (not merely compact) an Access .mdb file?

당신은 JRO.JetEngine 개체에 액세스 COM를 사용하여이 작업을 수행 할 수 있습니다. C#에서 예를 들어 CodeProject으로 C++로 변환하기가 너무 어렵지 않아야합니다.

업데이트 : @le dorfier에게 감사드립니다. 여기에는 C++ 예제 article이 있습니다.

+0

네, 저기있는 것을 보았습니다. 그러나 C++ 솔루션에 대해서 묻고 있습니다.이 질문이나 대답들 중 어느 것도 해결하지 못한 것 같습니다. – Smashery

+1

C++에서와 똑같은 내용이 있습니다. http://support.microsoft.com/kb/230501 은 "C++ JRO.JetEngine"으로 검색되었습니다. – dkretz

+0

@le dorfier : nice find! 그 사람이 나를 도왔다! :) –