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 소비자 데이터 원본과의 연결을 나타내는 CDataSource 및 CSession 개체를 만듭니다.
클래스에서 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 |
특성 컨텍스트에 대한 자세한 내용은 특성 컨텍스트를 참조하세요.