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(드라이버에서 구현)은 SQLWriteDSNToIniSQLWritePrivateProfileString을 호출하여 시스템 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