SQLConfigDataSource 함수
규칙
버전 소개: ODBC 1.0
요약
SQLConfigDataSource 는 데이터 원본을 추가, 수정 또는 삭제합니다.
ODBCCONF.EXE를 사용하여 SQLConfigDataSource의 기능에 액세스할 수도 있습니다.
구문
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);
인수
hwndParent
[입력] 부모 창 핸들입니다. 핸들이 null인 경우 함수는 대화 상자를 표시하지 않습니다.
fRequest
[입력] 요청 유형입니다. fRequest 인수는 다음 값 중 하나를 포함해야 합니다.
ODBC_ADD_DSN: 새 사용자 데이터 원본을 추가합니다.
ODBC_CONFIG_DSN: 기존 사용자 데이터 원본을 구성(수정)합니다.
ODBC_REMOVE_DSN: 기존 사용자 데이터 원본을 제거합니다.
ODBC_ADD_SYS_DSN: 새 시스템 데이터 원본을 추가합니다.
ODBC_CONFIG_SYS_DSN: 기존 시스템 데이터 원본을 수정합니다.
ODBC_REMOVE_SYS_DSN: 기존 시스템 데이터 원본을 제거합니다.
ODBC_REMOVE_DEFAULT_DSN: 시스템 정보에서 기본 데이터 원본 사양 섹션을 제거합니다. 또한 시스템 정보의 Odbcinst.ini 항목에서 기본 드라이버 사양 섹션을 제거합니다. 이 fRequest는 사용되지 않는 SQLRemoveDefaultDataSource 함수와 동일한 함수를 수행합니다.) 이 옵션을 지정하면 SQLConfigDataSource 호출의 다른 모든 매개 변수는 NULL이어야 합니다. NULL이 아니면 무시됩니다.
lpszDriver
[입력] 실제 드라이버 이름 대신 사용자에게 표시되는 드라이버 설명(일반적으로 연결된 DBMS의 이름)입니다.
lpszAttributes
[입력] 키워드-값 쌍 형식의 두 배로 null로 끝나는 특성 목록입니다. 자세한 내용은 ConfigDSN을 참조하세요.
반품
이 함수는 성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다. 이 함수를 호출할 때 시스템 정보에 항목이 없으면 함수는 FALSE를 반환합니다.
진단
SQLConfigDataSource가 FALSE를 반환하면 SQLInstallerError를 호출하여 연결된 *pfErrorCode 값을 가져올 수 있습니다. 다음 표에서는 SQLInstallerError에서 반환할 수 있는 *pfErrorCode 값을 나열하고 이 함수의 컨텍스트에서 각각에 대해 설명합니다.
*pfErrorCode | Error | 설명 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 일반 설치 관리자 오류 | 특정 설치 관리자 오류가 없는 오류가 발생했습니다. |
ODBC_ERROR_INVALID_HWND | 잘못된 창 핸들 | hwndParent 인수가 잘못되었거나 NULL입니다. |
ODBC_ERROR_INVALID_REQUEST_TYPE | 잘못된 요청 유형 | fRequest 인수는 다음 중 하나가 아닙니다. ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN |
ODBC_ERROR_INVALID_NAME | 드라이버 또는 번역기 이름이 잘못되었습니다. | lpszDriver 인수가 잘못되었습니다. 레지스트리에서 찾을 수 없습니다. |
ODBC_ERROR_INVALID_KEYWORD_VALUE | 잘못된 키워드-값 쌍 | lpszAttributes 인수에 구문 오류가 포함되어 있습니다. |
ODBC_ERROR_REQUEST_FAILED | 요청 실패 | 설치 관리자가 fRequest 인수에서 요청한 작업을 수행할 수 없습니다. ConfigDSN에 대한 호출이 실패했습니다. |
ODBC_ERROR_LOAD_LIBRARY_FAILED | 드라이버 또는 번역기 설치 라이브러리를 로드할 수 없음 | 드라이버 설치 라이브러리를 로드할 수 없습니다. |
ODBC_ERROR_OUT_OF_MEM | 메모리 부족 | 메모리 부족으로 인해 설치 관리자가 함수를 수행할 수 없습니다. |
주석
SQLConfigDataSource는 lpszDriver 값을 사용하여 시스템 정보에서 드라이버에 대한 설치 DLL의 전체 경로를 읽습니다. DLL을 로드하고 전달된 것과 동일한 인수를 사용하여 ConfigDSN을 호출합니다.
SQLConfigDataSource 는 설치 DLL을 찾거나 로드할 수 없거나 사용자가 대화 상자를 취소하는 경우 FALSE를 반환합니다. 그렇지 않으면 ConfigDSN에서 받은 상태를 반환합니다.
SQLConfigDataSource는 시스템 DSN fRequest s를 사용자 DSN fRequests에 매핑합니다(ODBC_ADD_SYS_DSN ODBC_ADD_DSN, ODBC_CONFIG_DSN ODBC_CONFIG_SYS_DSN 및 ODBC_REMOVE_DSN ODBC_REMOVE_SYS_DSN). 사용자 및 시스템 DSN을 구분하기 위해 SQLConfigDataSource 는 다음 표에 따라 설치 관리자 구성 모드를 설정합니다. 반환 하기 전에 SQLConfigDataSource 는 구성 모드를 BOTHDSN으로 다시 설정합니다. ConfigDSN(드라이버에서 구현)은 SQLWriteDSNToIni 및 SQLWritePrivateProfileString을 호출하여 시스템 DSN을 지원해야 합니다. 자세한 내용은 ConfigDSN 함수를 참조 하세요.
fRequest | 구성 모드 |
---|---|
ODBC_ADD_DSN | USERDSN_ONLY |
ODBC_CONFIG_DSN | USERDSN_ONLY |
ODBC_REMOVE_DSN | USERDSN_ONLY |
ODBC_ADD_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_CONFIG_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_REMOVE_SYS_DSN | SYSTEMDSN_ONLY |
관련 함수
추가 정보 | 참조 |
---|---|
데이터 원본 추가, 수정 또는 제거 | ConfigDSN (설치 DLL에서) |
시스템 정보에서 데이터 원본 이름 제거 | SQLRemoveDSNFromIni |
시스템 정보에 데이터 원본 이름 추가 | SQLWriteDSNToIni |