CDatabase::Open

가상BOOL오픈 (LPCTSTRlpszDSN,BOOLbExclusive FALSE,BOOLbReadOnly = FALSELPCTSTRlpszConnect = "ODBC;"BOOLbUseCursorLibTRUE==);
던져 ( CDBException, CMemoryException );

반환 값

0이 아닌 경우에 연결이 성공적으로; 그렇지 않으면 사용자가 선택 하는 경우 0 취소 대화 상자를 더 연결 정보에 대 한 요구를 제시 하는 경우. 프레임 워크는 예외를 throw 하는 다른 모든 경우에。

매개 변수

lpszDSN

데이터 원본 이름을 지정-이름 ODBC ODBC 관리자 프로그램을 통해 등록 합니다. DSN 값은 lpszConnect 에서 지정 하는 경우 (형태로 "DSN = lt; 데이터 소스 >"), 그것은 하지 지정 해야 다시 lpszDSN. 이 경우 lpszDSNNULL일 수 있습니다. 그렇지 않으면, 전달할 수 있습니다 NULL 사용자 데이터 소스를 선택할 수 있는 데이터 원본 대화 상자가 사용자에 게 표시 하려는 경우. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 주의。

bExclusive

이 버전의 클래스 라이브러리에서 지원 되지 않습니다. 현재,이 매개 변수는 TRUE는 어설션이 실패 합니다. (단독) 공유 데이터 원본을 연 항상。

bReadOnly

TRUE 이면 하려는 읽기 전용 데이터 소스에 업데이트를 금지 하는 연결. 모든 종속 레코드는이 특성을 상속합니다. 기본값은 FALSE 입니다.

lpszConnect

연결 문자열을 지정합니다. 연결 문자열 연결 가능한 데이터 원본 이름, 데이터 원본, 사용자 인증 문자열 (데이터 원본을 요구 하는 경우 암호) 및 기타 정보에 유효한 사용자 ID를 포함 한 정보를 합니다. 전체 연결 문자열을 문자열 "ODBC;"로 붙여야 (대문자 또는 소문자). "ODBC;" 문자열 연결이; ODBC 데이터 소스를 나타내는 데 사용 됩니다 이 때 상향 호환성에 대 한 클래스 라이브러리의 향후 버전 비 ODBC 데이터 원본을 지원할 수 있습니다.

bUseCursorLib

TRUE 이면 ODBC 커서 라이브러리 DLL을 로드 합니다. 커서 라이브러리는 (해당 되는 경우 드라이버에서 지 원하는) 다이너셋 사용을 효과적으로 예방 하는 기본 ODBC 드라이버의 일부 기능을 마스크 합니다. 커서 라이브러리를 로드 하는 경우 지원 하는 유일한 커서는 정적 스냅숏 및 앞 으로만 이동 가능한 커서입니다. 기본 값은 TRUE입니다. 그것에서 파생 하지 않고 직접 CRecordset 에서 recordset 개체를 만들 경우 커서 라이브러리를 로드。

주의

신축된 CDatabase 개체를 초기화 하려면이 멤버 함수를 호출 합니다. 데이터베이스 개체를 초기화 해야 합니다 recordset 개체를 만드는 데 사용할 수 있습니다.

메모nbsp;OpenEx 멤버 함수를 호출 하는 데이터 원본에 연결 하 고 데이터베이스 개체를 초기화 하는 것이 좋습니다(&N).

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

원하는 경우, 호출 하는 암호와 같은 사용자에서 정보를 가져올 다음 을 전달 하는 연결 문자열 정보를 추가 하기 전에 대화 상자를 열 수 있습니다. 또는 CDatabase 개체에서 응용 프로그램 열기 호출 다음에 재사용할 수 있도록 전달 하는 연결 문자열을 저장할 수 있습니다.

(각각 다른 CDatabase 개체에 대 한) 로그인 권한 부여의 여러 수준에 대 한 연결 문자열을 사용할 수 있습니다 또는 다른 데이터 소스 관련 정보를 전달 합니다. 에 대 한 자세한 내용은 연결 문자열 ODBC SDK Programmer's Reference 에서 5 장 참조 하십시오。

예를 들어, DBMS 호스트는 사용할 수 없습니다 하는 경우 연결 시도 시간 초과 대 한는 것이 불가능 합니다. 연결 시도가 실패 하는 경우 오픈 CDBException 던졌습니다.

예제

/ / CDatabase 개체 포함
/ / 문서 클래스
CDatabase m_dbCust;

/ / 개체를 연결 된
/ / 데이터 소스 (암호 없음)
/ / ODBC 연결 대화 상자
/ / 항상 숨겨진 남아 것입니다
m_dbCust.Open (_T ("MYDATASOURCE"), FALSE,
 nbsp;???????????? FALSE 이면 _T ("ODBC;UID = JOES "),

// ...모든 사용자를 쿼리 하는 또는
/ / 연결 정보
m_dbCust.Open (NULL)(&N)

CDatabase 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CDatabase::OpenEx, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset::Open(&N)

Index