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


Функция SQLInstallDriverManager

Соответствия
Представлена версия: ODBC 1.0: не рекомендуется использовать в Windows XP с пакетом обновления 2, Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних операционных систем

Сводка
SQLInstallDriverManager возвращает путь к целевому каталогу для установки основных компонентов ODBC. Вызывающая программа должна фактически скопировать файлы диспетчера драйверов в целевой каталог.

Синтаксис

  
BOOL SQLInstallDriverManager(  
     LPSTR    lpszPath,  
     WORD     cbPathMax,  
     WORD *   pcbPathOut);  

Аргументы

lpszPath
[Выходные данные] Путь к целевому каталогу установки.

cbPathMax
[Входные данные] Длина lpszPath. Это должно быть не менее _MAX_PATH байтов.

pcbPathOut
[Выходные данные] Общее количество байтов (за исключением байта завершения null), возвращаемое в lpszPath. Если число байтов, доступных для возврата, больше или равно cbPathMax, путь в lpszPath усечен до cbPathMax минус символ завершения null. Аргумент pcbPathOut может быть указателем null.

Возвраты

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

Диагностика

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

*pfErrorCode Error Description
ODBC_ERROR_GENERAL_ERR Общая ошибка установщика Произошла ошибка, для которой не было определенной ошибки установщика.
ODBC_ERROR_INVALID_BUFF_LEN Недопустимая длина буфера Аргумент lpszPath был недостаточно большим, чтобы содержать выходной путь. Буфер содержит усеченный путь.

Аргумент cbPathMax был меньше _MAX_PATH.
ODBC_ERROR_USAGE_UPDATE_FAILED Не удалось увеличить или открепить количество использования компонентов Установщик не удалось увеличить количество использования основных компонентов ODBC.
ODBC_ERROR_OUT_OF_MEM Недостаточно памяти Установщик не мог выполнить функцию из-за нехватки памяти.

Комментарии

SQLInstallDriverManager вызывается для возврата пути к основным компонентам ODBC и добавит количество использования компонентов в системных сведениях. Если версия диспетчера драйверов уже существует, но число использования компонентов для драйвера не существует, то для нового значения количества использования компонентов задано значение 2.

Программа установки приложений отвечает за физическое копирование файлов основных компонентов и обслуживание счетчиков использования файлов. Если ранее не установлен файл основного компонента, программа установки приложения должна скопировать файл и создать количество использования файлов. Если файл был установлен ранее, программа установки просто увеличивает количество использования файлов.

Если более ранняя версия диспетчера драйверов ранее была установлена программой установки приложения, основные компоненты должны быть удалены, а затем переустановлены, чтобы число основных компонентов было допустимым. Для уменьшения количества использования компонентов необходимо сначала вызвать SQLRemoveDriverManager . Затем необходимо вызвать SQLInstallDriverManager , чтобы увеличить количество использования компонентов. Программа установки приложения должна заменить старые файлы основных компонентов новыми файлами. Количество использования файлов останется прежним, а другие приложения, которые использовали старые файлы основных компонентов версии, теперь будут использовать более новые файлы версий.

В новой установке основных компонентов ODBC, драйверов и переводчиков программа установки приложений должна вызывать следующие функции последовательно: SQLInstallDriverManager, SQLInstallDriverEx, SQLConfigDriverfRequestst of ODBC_INSTALL_DRIVER), а затем SQLInstallTranslatorEx. При удалении основных компонентов, драйверов и переводчиков программа установки приложений должна вызывать следующие функции в последовательности: SQLRemoveTranslator, SQLRemoveDriver, а затем SQLRemoveDriverManager. Эти функции должны вызываться в этой последовательности. При обновлении всех компонентов все функции удаления должны вызываться последовательно, а затем все функции установки должны вызываться в последовательности.

Сведения Раздел
Добавление, изменение или удаление драйвера SQLConfigDriver
Установка драйвера SQLInstallDriverEx
Установка переводчика SQLInstallTranslatorEx
Удаление драйвера SQLRemoveDriver
Удаление диспетчера драйверов SQLRemoveDriverManager
Удаление переводчика SQLRemoveTranslator