다음을 통해 공유


db_source

데이터 원본에 대한 연결을 만듭니다.

구문

[ db_source(db_source, name, hresult) ]

매개 변수

db_source
데이터 원본에 연결하는 데 사용되는 연결 문자열. 연결 문자열 형식은 MDAC(Microsoft Data Access Components) SDK의 연결 문자열 및 데이터 링크를 참조하세요.

이름
(선택 사항) 클래스에서 db_source 사용하는 경우 이름은 db_source 특성이 적용된 데이터 원본 개체의 인스턴스입니다(예제 1 참조). 메서드 구현에서 db_source 인라인으로 사용하는 경우 이름은 데이터 원본에 액세스하는 데 사용할 수 있는 변수(메서드의 로컬)입니다(예제 2 참조). 이 이름을 명령과 데이터 원본을 연결하는 source_name 매개 변수 db_command 에 전달합니다.

hresult
(선택 사항) 이 데이터베이스 명령의 HRESULT를 수신할 변수를 식별합니다. 변수가 없으면 특성에 의해 자동으로 삽입됩니다.

설명

db_source OLE DB 소비자 데이터 원본과의 연결을 나타내는 CDataSourceCSession 개체를 만듭니다.

클래스에서 db_source 사용하면 개체가 CSession 클래스의 멤버가 됩니다.

메서드에서 db_source 사용하면 삽입된 코드가 메서드 범위 내에서 실행되고 개체가 CSession 지역 변수로 만들어집니다.

db_source 클래스 또는 메서드 내에서 데이터 원본 속성을 추가합니다. db_source 이름 매개 변수를 source_name 매개 변수로 사용하는 것과 함께 db_command 사용됩니다.

소비자 특성 공급자가 이 특성을 클래스에 적용하면 컴파일러는 클래스 이름을 _YourClassNameAccessor로 바꿉니다. 여기서 YourClassName은 클래스에 지정한 이름이고 컴파일러는 _YourClassName접근자에서 파생되는 YourClassName이라는 클래스도 만듭니다. 클래스 뷰에 두 클래스 모두 표시됩니다.

애플리케이션에서 사용되는 이 특성의 예는 MultiRead를 참조하세요.

예시

이 샘플에서는 클래스에서 db_source 호출하여 Northwind 데이터베이스를 사용하여 데이터 원본 ds 에 대한 연결을 만듭니다. ds 는 내부적으로 클래스에 사용할 수 있는 데이터 원본에 대한 핸들입니다 CMyCommand .

// db_source_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>

[
  db_source(L"my_connection_string", name="ds"),
  db_command(L"select * from Products")
]
class CMyCommand {};

요구 사항

특성 컨텍스트
적용 대상: class, struct멤버, 메서드, 로컬
반복 가능 아니요
필수 특성 None
잘못된 특성 None

특성 컨텍스트에 대한 자세한 내용은 특성 컨텍스트를 참조하세요.

참고 항목

OLE DB 소비자 특성