CDatabase::Open
게시: 2016년 4월
새로 생성 된 초기화 하려면이 멤버 함수를 호출 합니다. 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 Class
계층 구조 차트
CDatabase::OpenEx
CDatabase::CDatabase
CDatabase::Close
CDBException Class
CRecordset::Open