다음을 통해 공유


SQLReadFileDSN 함수

규칙
버전 소개: ODBC 3.0

요약
SQLReadFileDSN은 파일 DSN에서 정보를 읽습니다.

구문

  
BOOL SQLReadFileDSN(  
     LPCSTR   lpszFileName,  
     LPCSTR   lpszAppName,  
     LPCSTR   lpszKeyName,  
     LPSTR    lpszString,  
     WORD     cbString,  
     WORD *   pcbString);  

인수

lpszFileName
[입력] .dsn 파일의 이름을 포함하는 데이터 버퍼에 대한 포인터입니다. .dsn 확장명이 .dsn 확장명이 아직 없는 모든 파일 이름에 추가됩니다. *lpszFileName값은 null로 끝나는 문자열이어야 합니다.

lpszAppName
[입력] 애플리케이션의 이름을 포함하는 데이터 버퍼에 대한 포인터입니다. ODBC 섹션에 대한 "ODBC"입니다. *lpszAppName값은 null로 끝나는 문자열이어야 합니다.

lpszKeyName
[입력] 읽을 키의 이름을 포함하는 데이터 버퍼에 대한 포인터입니다. 예약된 키워드는 "주석"을 참조하세요. *lpszAppName값은 null로 끝나는 문자열이어야 합니다.

lpszString
[출력] 읽을 키와 연결된 문자열을 포함하는 데이터 버퍼에 대한 포인터입니다.

*lpszFileName이 유효한 .dsn 파일 이름이지만 lpszAppName 인수가 null 포인터이고 lpszKeyName 인수가 null 포인터인 경우 *lpszString에는 유효한 애플리케이션 목록이 포함됩니다. *lpszFileName이 유효한 .dsn 파일 이름이고 *lpszAppName이 유효한 애플리케이션 이름이지만 lpszKeyName 인수가 null 포인터인 경우 *lpszString은 세미콜론으로 구분된 DSN 파일의 적절한 섹션에 유효한 예약 키워드 목록을 포함합니다. *lpszFileName이 유효한 .dsn 파일 이름이지만 *lpszAppName이 null 포인터이고 lpszKeyName 인수가 null 포인터인 경우 *lpszString에는 세미콜론으로 구분된 DSN 파일의 섹션 목록이 포함됩니다.

cbString
[입력] *lpszString 버퍼의 길이입니다.

pcbString
[출력] *lpszString에서 반환할 수 있는 총 바이트 수입니다. 반환할 수 있는 바이트 수가 cbString보다 크거나 같으면 *lpszString의 출력 문자열이 cbString에서 null 종료 문자를 뺀 값으로 잘립니다. pcbString 인수는 null 포인터일 수 있습니다.

반품

이 함수는 성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

진단

SQLReadFileDSN이 FALSE를 반환하면 SQLInstallerError를 호출하여 연결된 *pfErrorCode 값을 가져올 수 있습니다. 다음 표에서는 SQLInstallerError에서 반환할 수 있는 *pfErrorCode 값을 나열하고 이 함수의 컨텍스트에서 각각에 대해 설명합니다.

*pfErrorCode Error 설명
ODBC_ERROR_GENERAL_ERR 일반 설치 관리자 오류 특정 설치 관리자 오류가 없는 오류가 발생했습니다.
ODBC_ERROR_INVALID_BUFF_LEN 버퍼 길이가 잘못되었습니다. lpszString 인수는 NULL입니다.

cbString 인수가 0보다 작거나 같습니다.
ODBC_ERROR_INVALID_PATH 잘못된 설치 경로 lpszFileName 인수에 지정된 파일 이름의 경로가 잘못되었습니다.
ODBC_ERROR_INVALID_REQUEST_TYPE 잘못된 요청 유형 lpszAppName 인수는 NULL이지만 lpszKeyName 인수는 유효했습니다.
ODBC_ERROR_OUT_OF_MEM 메모리 부족 메모리 부족으로 인해 설치 관리자가 함수를 수행할 수 없습니다.
ODBC_ERROR_OUTPUT_STRING_TRUNCATED 잘린 출력 문자열 cbString의 값이 *pcbString의 값보다 작거나 같으므로 *lpszString에서 반환된 문자열이 잘렸습니다.
ODBC_ERROR_REQUEST_FAILED 요청 실패 키워드가 DSN 파일에 없습니다.

주석

ODBC는 연결 정보를 저장할 섹션 이름 [ODBC]를 예약합니다. 이 섹션의 예약된 키워드는 SQLDriverConnect연결 문자열에 대해 예약된 키워드와 동일합니다. (자세한 내용은 다음을 참조하세요 .SQLDriverConnect 함수 설명입니다.)

애플리케이션은 이러한 예약된 키워드를 사용하여 파일 DSN의 정보를 읽을 수 있습니다. 애플리케이션이 파일 DSN과 연결된 DSN이 없는 연결 문자열을 찾으려는 경우 [ODBC] 섹션의 예약된 연결 문자열 키워드에 대해 SQLReadFileDSN을 호출할 수 있습니다. DSN이 없는 연결에 전달된 전체 연결 문자열은 [ODBC] 섹션의 모든 키워드(예약 및 드라이버별)의 조합입니다.

추가 정보 참조
파일 DSN에 정보 쓰기 SQLWriteFileDSN