|
PROUD_API | CAdoConnection (ADODB::_Connection *conn) |
|
PROUD_API void | OpenEx (const PNTCHAR *pszConnStr, const PNTCHAR *AppName) |
|
void | Open (const PNTCHAR *pszConnStr) |
|
PROUD_API void | OpenEx (const PNTCHAR *pszConnStr, const PNTCHAR *AppName, DbmsType Type) |
|
void | Open (const PNTCHAR *pszConnStr, DbmsType Type) |
|
PROUD_API void | Close () |
|
PROUD_API void | Close_NoThrow () |
|
PROUD_API bool | IsOpened () |
|
PROUD_API long | Execute (const PNTCHAR *lpszSQL) |
|
PROUD_API long | Execute (CAdoRecordset &outputRecords, const PNTCHAR *lpszSQL) |
|
void | BeginTrans () |
|
void | RollbackTrans () |
|
void | CommitTrans () |
|
ADO Wrapper API 의 DBMS 연결 객체
- 전역으로 이 객체를 두어서 여러 스레드에서 접근하는 것은 여러가지 문제(가령 race condition)을 야기합니다. 따라서 필요할 때마다 이 객체를 로컬 변수로서 생성해서 쓰는 것이 바람직합니다. 한편, 성능을 위해서 연결만 하고 다른 용도로 사용되지 않는 프로세스 전역 객체를 하나 두는 것이 좋습니다. 자세한 것은 ADO로 데이터베이스에 접근하기ion_pooling 을 참고하십시오.
- 이 객체를 생성하기 전에, 최소 1회의 CoInitialize를 호출해야 합니다. 그냥 스레드 메인 함수에 다음과 같은 구문을 넣어두면 편할 것입니다.
- DB를 억세스하는 동안 critical section을 건들지 않음을 체크하는 기능: ADODB_RefCriticalSection, ADODB_RecommendCriticalSectionProc
void Proud::CAdoConnection::BeginTrans |
( |
| ) |
|
|
inline |
PROUD_API void Proud::CAdoConnection::Close |
( |
| ) |
|
PROUD_API void Proud::CAdoConnection::Close_NoThrow |
( |
| ) |
|
void Proud::CAdoConnection::CommitTrans |
( |
| ) |
|
|
inline |
PROUD_API long Proud::CAdoConnection::Execute |
( |
const PNTCHAR * |
lpszSQL | ) |
|
SQL 구문을 실행한다. printf()처럼 사용 가능. 쿼리 구문
- 반환값
- stored procedure에 의해 영향받은 record의 갯수, 영향받은 행이 없거나 실패시 0, Select 구문이면 -1 리턴
PROUD_API long Proud::CAdoConnection::Execute |
( |
CAdoRecordset & |
outputRecords, |
|
|
const PNTCHAR * |
lpszSQL |
|
) |
| |
SQL 구문을 실행합니다.결과는 outputRecords에 저장됩니다.
- 매개변수
-
outRecordset | 받아올 결과 레코드셋. 쿼리 구문 |
- 반환값
- stored procedure에 의해 영향받은 record의 갯수, 영향받은 행이 없거나 실패시 0, Select 구문이면 -1 리턴
PROUD_API bool Proud::CAdoConnection::IsOpened |
( |
| ) |
|
ADO 객체가 DB 서버에 연결됐는지?
- 반환값
- 연결 성공하면 true를 리턴하고, 실패하면 false를 리턴합니다.
void Proud::CAdoConnection::Open |
( |
const PNTCHAR * |
pszConnStr | ) |
|
|
inline |
DB에 연결한다. 자세한 것은 OpenEx 도움말 참고
- 매개변수
-
pszConnStr | DB Connection String |
void Proud::CAdoConnection::Open |
( |
const PNTCHAR * |
pszConnStr, |
|
|
DbmsType |
Type |
|
) |
| |
|
inline |
DB에 연결한다. 자세한 것은 OpenEx 도움말 참고
- 매개변수
-
pszConnStr | DB Connection String |
type | |
PROUD_API void Proud::CAdoConnection::OpenEx |
( |
const PNTCHAR * |
pszConnStr, |
|
|
const PNTCHAR * |
AppName |
|
) |
| |
DB에 연결한다. ADODB.Connection을 확장한 기능을 갖고 있다.
- 매개변수
-
pszConnStr | DBMS 연결 문자열
- ADO DB connection string 규약을 따른다. 자세한 것은 http://www.connectionstrings.com/ 참고.
- Driver 혹은 Provider가 들어가지 않는다면,sqloledb를 provider로 사용한다. 아래는 한 예이다.
Data Source=.;Database=ProudDB-Test;Trusted_Connection=yes
Data Source=.;Database=ProudDB-Test;user id=xxx;password=yyy
|
AppName | SQL Server Enterprise Manager에서 표시되는 이름. connection의 이름에 특정 루틴을 의미하는 이름을 추가하고 싶으면 이걸 넣으면 데드락 등을 감지할 때 더 도움이 된다. 안 넣으면 무시된다. |
PROUD_API void Proud::CAdoConnection::OpenEx |
( |
const PNTCHAR * |
pszConnStr, |
|
|
const PNTCHAR * |
AppName, |
|
|
DbmsType |
Type |
|
) |
| |
DB에 연결한다. ADODB.Connection을 확장한 기능을 갖고 있다.
- 매개변수
-
pszConnStr | DBMS 연결 문자열
- ADO DB connection string 규약을 따른다. 자세한 것은 http://www.connectionstrings.com/ 참고. 아래는 한 예이다.
Data Source=.;Database=ProudDB-Test;Trusted_Connection=yes
Data Source=.;Database=ProudDB-Test;user id=xxx;password=yyy
Driver={MySQL ODBC 5.1 Driver};server=xxx.xxx.xxx.xxx;port=3306;Database=TableName;User ID=UserID;Password=yyy;
|
AppName | SQL Server Enterprise Manager에서 표시되는 이름. connection의 이름에 특정 루틴을 의미하는 이름을 추가하고 싶으면 이걸 넣으면 데드락 등을 감지할 때 더 도움이 된다. 안 넣으면 무시된다. |
Type | DbmsType형태의 enum값을 넣습니다.MsSql,MySql등이 있습니다.(MsSql은 내부적으로 sqloledb Provider을 사용하고 있습니다.) |
void Proud::CAdoConnection::RollbackTrans |
( |
| ) |
|
|
inline |