다음을 통해 공유


CDaoDatabase::Open

 

게시: 2016년 4월

새로 생성 된 초기화 하려면이 멤버 함수를 호출 해야 CDaoDatabase 기존 데이터베이스를 나타내는 개체입니다.

구문

      virtual void Open( 
   LPCTSTR lpszName, 
   BOOL bExclusive = FALSE, 
   BOOL bReadOnly = FALSE, 
   LPCTSTR lpszConnect = _T( 
   "" ) 
);

매개 변수

  • lpszName
    기존 Microsoft Jet의 이름인 문자열 식 (.MDB) 데이터베이스 파일입니다. 파일 이름 확장명이 있는 경우 필수입니다. Uniform 명명 규칙 (UNC) 네트워크를 지 원하는 경우 "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. 같은 네트워크 경로 지정할 수도 있습니다.MDB "입니다. (C + + 이스케이프 문자 "\" 이기 때문에 이중 백슬래시에 문자열 리터럴이 필요 합니다.)

    사용 하는 경우 몇 가지 고려 사항 적용 lpszName. 경우에:

    • 이미 MFC throw 예외 형식의 다른 사용자가 단독 액세스를 위해 열려 있는 데이터베이스를 참조 CDaoException. 사용자 데이터베이스를 사용할 수 있는지 알 수 있도록 해당 예외를 포착 합니다.

    • 빈 문자열 ("") 및 lpszConnect "ODBC;"입니다 사용자 데이터베이스를 선택할 수 있도록 등록 된 모든 ODBC 데이터 원본 이름 목록을 가진 대화 상자가 표시 됩니다. ODBC 데이터 원본에 직접 연결을 피해 야 합니다. 대신 연결된 된 테이블을 사용 합니다.

    • 그렇지 않으면 기존 데이터베이스나 유효한 ODBC 데이터 원본 이름, MFC throw 예외 형식의 참조 하지 않는 CDaoException.

    참고

    DAO 오류 코드에 대 한 자세한 내용은 DAOERR를 참조 하십시오.H 파일입니다.관련된 내용은 "트래핑 가능한 데이터 액세스 오류" DAO 도움말 항목을 참조 하십시오.

  • bExclusive
    부울 값 TRUE 데이터베이스 단독 (비공유)을 열 수 있는지 및 거짓 데이터베이스 공유 액세스를 열려는 경우. 이 인수를 생략 하면 데이터베이스에 대 한 공유 액세스 열립니다.

  • bReadOnly
    부울 값 TRUE 데이터베이스를 읽기 전용으로 열 수 있는지 및 거짓 데이터베이스 읽기/쓰기 권한으로 열려는 경우. 이 인수를 생략 하면 데이터베이스에 대 한 읽기/쓰기 액세스 열립니다. 모든 관련 레코드 셋이이 특성을 상속합니다.

  • lpszConnect
    데이터베이스 열기를 사용 하는 문자열 식입니다. 이 문자열은 ODBC 구성 연결 인수입니다. 소스 문자열을 제공 하는 전용 및 읽기 전용 인수를 제공 해야 합니다. 데이터베이스가 Microsoft Jet 데이터베이스인 경우 (.MDB)이이 문자열이 비어 (""). 구문에 대 한 기본 값- _T("")-이식성에 대 한 ANSI와 유니코드 빌드 응용 프로그램을 제공 합니다.

설명

열기 내부 DAO 개체에는 데이터베이스를 연결 합니다. 데이터베이스 개체가 초기화 될 때까지 레코드 집합, 테이블, 정의 또는 querydef 개체를 만드는 데 사용할 수 없습니다. 열기 데이터베이스 개체에 연결 된 작업 영역의 Databases 컬렉션에 추가 합니다.

다음과 같이 매개 변수를 사용 합니다.

  • Microsoft Jet를 여는 경우 (.MDB) 데이터베이스를 사용은 lpszName 에서 빈 문자열을 전달 하 고 매개 변수는 lpszConnect 매개 변수 또는 암호 문자열 형태의 패스 ";PWD = 암호 "암호로 보호 된 데이터베이스의 경우 (.MDB 데이터베이스에만)입니다.

  • ODBC 데이터 원본을 여는 경우 유효한 ODBC 연결 문자열에 전달할 lpszConnect 및 빈 문자열에 lpszName.

관련된 정보를 보려면 DAO 도움말에서 "OpenDatabase 메서드" 항목을 참조 하십시오.

참고

ISAM 데이터베이스와 ODBC 데이터 소스 같은 외부 데이터베이스에 액세스할 때 성능을 향상 시키기 위해 외부 데이터베이스 테이블 Microsoft Jet 엔진이 데이터베이스에 연결 하는 것입니다 (.MDB) 데이터 원본에 직접 연결 하지 않고.

예를 들어 DBMS 호스트 사용할 수 없으면 연결 시도가 시간 초과 있습니다. 연결 시도가 실패 하면 열려 형식의 예외가 throw CDaoException.

나머지 설명에 ODBC 데이터베이스에만 적용 됩니다.

데이터베이스에서 매개 변수 및 ODBC 데이터베이스 인지를 열려 전화 연결을 만드는 데 충분 한 정보가 포함 되어 있지 않습니다, ODBC 드라이버 사용자 로부터 필요한 정보를 얻을 수 있는 대화 상자가 열립니다. 호출 하면 열려, 연결 문자열을 lpszConnect, 개인용으로 저장 되 고 호출 하 여 사용할 수 있는 GetConnect 멤버 함수.

원하는 경우 호출 하기 전에 사용자가 직접 대화 상자를 열 수 있습니다 암호 등의 사용자 정보를 가져올 수 다음 해당 정보를 전달 하는 연결 문자열 추가 . 또는 응용 프로그램 호출을 전달 하 여 (아마도 Windows 레지스트리에서) 다음 다시 사용할 수 있도록 연결 문자열 저장 시간 할 수 있습니다 열려CDaoDatabase 개체입니다.

여러 수준 로그인 권한 부여에 대 한 연결 문자열을 사용할 수도 있습니다 (각각 다른 CDaoDatabase 개체) 또는 기타 데이터베이스 관련 정보를 전달 합니다.

요구 사항

헤더: afxdao.h

참고 항목

CDaoDatabase Class
계층 구조 차트
CDatabase::CDatabase
CDatabase::Close