다음을 통해 공유


CDatabase::Open

새로 생성 된 초기화 하려면이 멤버 함수를 호출 합니다. CDatabase 개체입니다.

virtual BOOL Open(
   LPCTSTR lpszDSN,
   BOOL bExclusive = FALSE,
   BOOL bReadOnly = FALSE,
   LPCTSTR lpszConnect = _T("ODBC;"),
   BOOL bUseCursorLib = TRUE 
);

매개 변수

  • lpszDSN
    데이터 원본 이름 지정-이름을 등록 ODBC를 통해 ODBC 관리자 프로그램.DSN 값이 지정 된 경우 lpszConnect (형태로 "DSN = < 데이터 원본 >"),이 다시 지정할 수 있어야 lpszDSN.이 경우 lpszDSN 해야 NULL.그렇지 않으면 전달할 수 있습니다 NULL 사용자 사용자 데이터 원본을 선택할 수 있는 데이터 원본 대화 상자를 표시 하려는 경우.자세한 내용은 설명 부분을 참조 하십시오.

  • bExclusive
    이 버전의 클래스 라이브러리에 없습니다.이 매개 변수는 경우에 현재는 어설션이 실패 TRUE.데이터 소스는 공유 (비단독)는 항상 열려 있습니다.

  • bReadOnly
    True 이면 데이터 원본에 업데이트를 금지 하 고 읽기 전용으로 연결 하려는 경우.모든 관련 레코드 셋이이 특성을 상속합니다.기본값은 거짓.

  • lpszConnect
    연결 문자열을 지정합니다.가능한 경우 데이터 원본 이름, 데이터 원본, 사용자 인증 문자열 (필요한 데이터 원본의 경우 암호) 및 기타 정보에 유효한 사용자 ID 등의 정보를 연결 하는 연결 문자열입니다.전체 연결 문자열을 문자열 "ODBC;" 접두사가 있어야 합니다. (대문자 또는 소문자)."ODBC;" 문자열을 사용 합니다; ODBC 데이터 원본에 연결 되었음을 나타냅니다 비 ODBC 데이터 소스 이후 버전의 클래스 라이브러리 지원 하면이 상향 호환성 때문입니다.

  • bUseCursorLib
    True 이면 경우 ODBC 커서 라이브러리 DLL을 로드할 수 있습니다.커서 라이브러리 (드라이버 지원 한다면) 다이너셋 사용을 효과적으로 방지 하는 내부 ODBC 드라이버의 일부 기능을 마스크 합니다.커서 라이브러리를 로드 하는 경우 지원 되는 유일한 커서는 정적 스냅샷과 앞 으로만 이동 가능한 커서입니다.기본값은 TRUE.Recordset 개체에서 직접 작성 하려는 경우 CRecordset 에서 파생 하지 않고 커서 라이브러리를 로드 해야 없습니다.

반환 값

연결이 성공적으로 설정 된 경우 0이 아닌. 그렇지 않으면 사용자가 원하면 0에 대 한 자세한 연결 정보를 묻는 대화 상자가 나타날 때 취소 합니다.다른 모든 경우에는 프레임 워크 예외가 throw 됩니다.

설명

레코드 집합 개체를 만드는 데 사용 하기 전에 데이터베이스 개체를 초기화 합니다.

[!참고]

호출 하는 OpenEx 멤버 함수는 데이터 원본에 연결 하 고 데이터베이스 개체를 초기화 하는 기본 방법입니다.

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

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

여러 수준 로그인 권한 부여에 대 한 연결 문자열을 사용할 수도 있습니다 (각각 다른 CDatabase 개체) 또는 다른 데이터 소스 관련 정보를 전달 합니다.연결 문자열에 대 한 자세한 내용은 5 장에서 Windows SDK.

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

예제

// m_dbCust is a CDatabase object embedded in a CDocument class

if (bDefault)
{
   // Connect the object to a data source (no password)
   // the ODBC connection dialog box will always remain hidden
   m_dbCust.Open(_T("MFC_ODBCTest"), FALSE, FALSE, _T("ODBC;UID=JOES"));
}
else
{
   // ...Or, query the user for all connection information
   m_dbCust.Open(NULL);
}

요구 사항

헤더: afxdb.h

참고 항목

참조

CDatabase 클래스

계층 구조 차트

CDatabase::OpenEx

CDatabase::CDatabase

CDatabase::Close

CDBException 클래스

CRecordset::Open