Поделиться через


Функция 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 является пустым указателем, а аргумент lpszKeyName является пустым указателем, то *lpszString содержит список допустимых приложений. Если *lpszFileName является допустимым именем dsn-файла и *lpszAppName является допустимым именем приложения, но аргумент lpszKeyName является пустым указателем, то *lpszString содержит список допустимых зарезервированных ключевых слов в соответствующем разделе файла DSN, разделенных точкой с запятой. Если *lpszFileName является допустимым именем dsn-файла, но *lpszAppName является пустым указателем, а аргумент lpszKeyName является пустым указателем, то *lpszString содержит список разделов в файле DSN, разделенных точкой с запятой.

cbString
[Входные данные] Длина буфера *lpszString .

pcbString
[Выходные данные] Общее количество байтов, доступных для возврата в *lpszString. Если число байтов, доступных для возврата, больше или равно cbString, выходная строка в *lpszString усечена до cbString минус символ завершения null. Аргумент pcbString может быть пустым указателем.

Возвраты

Функция возвращает значение TRUE, если оно выполнено успешно, значение FALSE, если оно завершается ошибкой.

Диагностика

Когда SQLReadFileDSN возвращает значение FALSE, связанное значение *pfErrorCode можно получить путем вызова SQLInstallerError. В следующей таблице перечислены значения *pfErrorCode , которые можно возвращать SQLInstallerError и объясняет каждый из них в контексте этой функции.

*pfErrorCode Error Description
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 Усеченная строка вывода Строка, возвращаемая в *lpszString, была усечена, так как значение в cbString было меньше или равно значению в *pcbString.
ODBC_ERROR_REQUEST_FAILED Не удалось выполнить запрос Ключевое слово не существовало в файле DSN.

Комментарии

ODBC резервирует имя раздела [ODBC], в котором хранятся сведения о подключении. Зарезервированные ключевые слова для этого раздела совпадают с зарезервированными для строки подключения в SQLDriverConnect. (Дополнительные сведения см. в разделе Описание функции SQLDriverConnect .)

Приложения могут использовать эти зарезервированные ключевые слова для чтения сведений в доменном имени файла. Если приложения хотят узнать строку подключения без dsN, связанную с доменным доменным доменом файла, она может вызвать SQLReadFileDSN для любого из зарезервированных ключевых слов строки подключения в разделе [ODBC]. Полная строка подключения, передаваемая в dsN-без подключения, — это сочетание всех ключевых слов (зарезервированных и драйверов) в разделе [ODBC].

Сведения Раздел
Запись сведений в dsN файла SQLWriteFileDSN