다음을 통해 공유


데이터 소스: 연결 관리(ODBC)

이 항목은 MFC ODBC 클래스에 적용됩니다.

이 항목에서는 다음 내용을 설명합니다.

데이터 원본에 연결한다는 것은 DBMS와의 통신을 설정하여 데이터에 액세스하는 것을 의미합니다. ODBC 드라이버를 통해 애플리케이션에서 데이터 원본에 연결할 때 드라이버는 로컬 또는 네트워크를 통해 자동으로 연결합니다.

ODBC 드라이버가 있는 모든 데이터 원본에 연결할 수 있습니다. 애플리케이션 사용자는 데이터 원본에 대해 동일한 ODBC 드라이버도 있어야 합니다. ODBC 드라이버를 재배포하는 방법에 대한 자세한 내용은 고객에게 ODBC 구성 요소 재배포를 참조하세요.

데이터 원본 구성

ODBC 관리자는 데이터 원본을 구성하는 데 사용됩니다. 설치 후 ODBC 관리자를 사용하여 데이터 원본을 추가하거나 제거할 수도 있습니다. 애플리케이션을 만들 때 사용자에게 데이터 원본을 추가할 수 있도록 ODBC 관리자에게 지시하거나 직접 ODBC 설치 호출을 수행하여 이 기능을 애플리케이션에 빌드할 수 있습니다. 자세한 내용은 ODBC 관리자를 참조 하세요.

Excel 파일을 데이터 원본으로 사용할 수 있으며 파일이 등록되어 데이터 원본 선택 대화 상자에 표시되도록 파일을 구성해야 합니다.

Excel 파일을 데이터 원본으로 사용하려면

  1. ODBC 데이터 원본 관리자를 사용하여 파일을 구성합니다.

  2. 파일 DSN 탭에서 추가를 클릭합니다.

  3. 새 데이터 원본 만들기 대화 상자에서 Excel 드라이버를 선택하고 다음을 클릭합니다.

  4. 찾아보기를 클릭하고 날짜 원본으로 사용할 파일의 이름을 선택합니다.

참고 항목

.xls 파일을 보려면 드롭다운 메뉴에서 모든 파일을 선택해야 할 수 있습니다.

  1. 다음을 클릭하고 마침을 클릭합니다.

  2. ODBC Microsoft Excel 설치 대화 상자에서 데이터베이스 버전 및 통합 문서를 선택합니다.

다중 사용자 환경에서 작업

여러 사용자가 데이터 원본에 연결된 경우 레코드 집합에서 데이터를 조작하는 동안 데이터를 변경할 수 있습니다. 마찬가지로 변경 내용이 다른 사용자의 레코드 집합에 영향을 줄 수 있습니다. 자세한 내용은 레코드 집합: 레코드 집합 업데이트 레코드(ODBC)트랜잭션(ODBC)을 참조하세요.

연결 문자열 일반화

마법사는 기본 연결 문자열 사용하여 데이터 원본에 대한 연결을 설정합니다. 이 연결을 사용하여 애플리케이션을 개발하는 동안 테이블 및 열을 볼 수 있습니다. 그러나 이 기본 연결 문자열 애플리케이션을 통해 데이터 원본에 대한 사용자의 연결에 적합하지 않을 수 있습니다. 예를 들어 해당 데이터 원본과 해당 위치에 대한 경로는 애플리케이션 개발에 사용되는 경로와 다를 수 있습니다. 이 경우 보다 일반적인 방식으로 CRecordset::GetDefaultConnect 멤버 함수를 다시 구현하고 마법사 구현을 취소해야 합니다. 예를 들어 다음 방법 중 하나를 사용합니다.

  • ODBC 관리자를 사용하여 연결 문자열 등록하고 관리합니다.

  • 연결 문자열 편집하고 데이터 원본 이름을 제거합니다. 프레임워크는 ODBC를 데이터 원본으로 제공합니다. 런타임에 ODBC는 데이터 원본 이름 및 기타 필요한 연결 정보를 요청하는 대화 상자를 표시합니다.

  • 데이터 원본 이름만 제공합니다. 필요한 경우 ODBC에서 사용자 ID 및 암호를 요청합니다. 예를 들어 일반화하기 전에 연결 문자열 다음과 같습니다.

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    이 연결 문자열 Windows NT 통합 보안을 사용하는 신뢰할 수 있는 연결을 지정합니다. 암호를 하드 코딩하거나 빈 암호를 지정하지 않아야 합니다. 이렇게 하면 보안에 큰 약점이 생기기 때문입니다. 대신 사용자 ID 및 암호를 쿼리할 수 있도록 새 연결 문자열 제공할 GetDefaultConnect 수 있습니다.

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

특정 데이터 원본에 연결

특정 데이터 원본에 연결하려면 데이터 원본이 이미 ODBC 관리자구성되어 있어야 합니다.

특정 데이터 원본에 연결하려면

  1. 개체를 CDatabase 생성합니다.

  2. 해당 함수 또는 Open 멤버 함수를 호출합니다OpenEx.

마법사 를 사용하여 지정한 데이터 원본이 아닌 경우 데이터 원본을 지정하는 방법에 대한 자세한 내용은 MFC 참조에서 CDatabase::OpenEx 또는 CDatabase::Open참조하세요.

데이터 원본 연결 끊기

의 멤버 함수CDatabase를 호출하기 전에 열려 있는 레코드 집합을 Close 닫아야 합니다. 닫을 개체와 CDatabase 연결된 레코드 집합에서 보류 중인 AddNew 또는 Edit 문이 취소되고 보류 중인 모든 트랜잭션이 롤백됩니다.

데이터 원본에서 연결을 끊려면

  1. 개체의 CDatabase Close 멤버 함수를 호출합니다.

  2. 개체를 다시 사용하려는 경우가 아니면 삭제합니다.

CDatabase 개체 다시 사용

개체를 동일한 데이터 원본에 CDatabase 다시 연결하거나 다른 데이터 원본에 연결하는 데 사용하든, 연결이 끊긴 후 개체를 다시 사용할 수 있습니다.

CDatabase 개체를 다시 사용하려면

  1. 개체의 원래 연결을 닫습니다.

  2. 개체를 삭제하는 대신 해당 함수 또는 Open 멤버 함수를 다시 호출합니다OpenEx.

참고 항목

데이터 소스(ODBC)
데이터 소스: 데이터 소스의 스키마 확인(ODBC)
CRecordset 클래스