다음을 통해 공유


CDatabase::OpenEx

 

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

구문

      virtual BOOL OpenEx( 
   LPCTSTR lpszConnectString, 
   DWORD dwOptions = 0  
);

매개 변수

  • lpszConnectString
    ODBC 연결 문자열을 지정합니다. 여기에 데이터 원본 이름 뿐만 아니라 다른 사용자 ID와 암호 등의 선택적 정보가 포함 됩니다. 예를 들어, "DSN = SQLServer_Source;UID = SA;PWD = abc123 "연결 문자열입니다. 전달 하는 경우 NULLlpszConnectString, 데이터 원본 대화 상자 사용자 데이터 원본을 선택 하 라는 메시지가 나타납니다.

  • dwOptions
    다음 값의 조합에 지정 된 비트 마스크입니다. 기본값은 0으로 데이터베이스 열기를 의미 하 고 쓰기 권한으로 공유, ODBC 커서 라이브러리 DLL 로드 되지 않습니다,만 없는 경우 연결을 만드는 데 충분 한 정보 ODBC 연결 대화 상자를 표시 합니다.

    • CDatabase::openExclusive 이 버전의 클래스 라이브러리에 없습니다. 데이터 소스는 공유 (비단독)는 항상 열려 있습니다. 현재이 옵션을 지정 하면 어설션이 실패 합니다.

    • CDatabase::openReadOnly 데이터 원본을 읽기 전용으로 엽니다.

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

    • CDatabase::noOdbcDialog 연결 정보만 제공 여부에 관계 없이 ODBC 연결 대화 상자를 표시 하지 않습니다.

    • CDatabase::forceOdbcDialog 항상 ODBC 연결 대화 상자를 표시 합니다.

반환 값

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

설명

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

경우는 lpszConnectString 매개 변수를 OpenEx 전화 연결을 만드는 데 충분 한 정보를 포함 하지 않는 경우, 설정 된 경우 ODBC 드라이버 사용자 로부터 필요한 정보를 얻기 위해 대화 상자를 엽니다 CDatabase::noOdbcDialog 또는 CDatabase::forceOdbcDialogdwOptions 매개 변수. 호출 하면 OpenEx, 연결 문자열, lpszConnectString에서 개인용으로 저장 되는 CDatabase 개체와 호출 하 여 사용할 수는 GetConnect 멤버 함수.

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

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

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

예제

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

// Connect the object to a read-only data source where
// the ODBC connection dialog box will always remain hidden
m_dbCust.OpenEx(_T("DSN=MFC_ODBCTest;UID=JOES"),
   CDatabase::openReadOnly | CDatabase::noOdbcDialog);

요구 사항

헤더: afxdb.h

참고 항목

CDatabase Class
계층 구조 차트
CDatabase::Open
CDatabase::CDatabase
CDatabase::Close
CDBException Class
CRecordset::Open