데이터베이스가 esent에 존재하는지 어떻게 확인합니까?데이터베이스가 존재하는지 확인하십시오.
기존 데이터베이스를 열고 Api.JetCreateDatabase
을 사용하여 새 데이터베이스를 만들 수 있습니다. 하지만 DB가 있는지 여부를 확인할 수있는 API를 찾을 수 없습니다.
db가 존재하는지 감지하려면 실제로 Api.JetAttachDatabase
에서 예외를 잡아야합니까?
데이터베이스가 esent에 존재하는지 어떻게 확인합니까?데이터베이스가 존재하는지 확인하십시오.
기존 데이터베이스를 열고 Api.JetCreateDatabase
을 사용하여 새 데이터베이스를 만들 수 있습니다. 하지만 DB가 있는지 여부를 확인할 수있는 API를 찾을 수 없습니다.
db가 존재하는지 감지하려면 실제로 Api.JetAttachDatabase
에서 예외를 잡아야합니까?
나는 세부 사항의 부족을 끼쳐 드려 죄송합니다. :) 이것은 내 머리의 맨 위에 있습니다.
o Api.JetAttachDatabase는 JetApi.JetAttachDatabase를 호출합니다.
o JetApi.JetAttachDatabase는 원하는 오류 코드를 반환합니다.
o Api.JetAttachDatabase가 예외로 변환합니다.
가장 큰 문제는 JetApi.Xxx가 공개되지 않을 수 있습니다. 내부 전용 일 수도 있습니다. 원작자가 아닌 이유를 원 저자에게 묻어야합니다. 없으면 ManagedEsent의 향후 릴리스에서 변경 작업을 수행 할 수 있습니다.
불확실한 답변을 드려 죄송합니다.
안녕하세요, 저는 궁금한 점이 있습니다. File.Exists()와 같은 CLR 함수는 어떨까요?
-martin
예외를 잡을 필요가 없어야합니다. 반환 유형은 문제가있는 경우 알려주는 JET_ERR 유형을 반환합니다. 간단한 bool 확인을 원할 경우 운이 좋지 않을 수도 있습니다. , 또는 자신의 글을 써야합니다.
자료 : I 휴가 중이 소스 코드가 편리하지 않기 때문에
http://msdn.microsoft.com/en-us/library/gg294074.aspx
http://msdn.microsoft.com/en-us/library/gg294092.aspx
const JET_errSuccess = 0;
result = JetCreateDatabase(...);
if(result != JET_errSuccess)
{
//throw error
}
반환되는 코드는 관리되는 래퍼에서 사용할 수 없습니다. – jgauffin
오, 그 사람, 완전히 그리워, 내 나쁜. 잡으려고 시도하는 것 같습니다 :-( –