Ошибка configdsn configdriver или configtranslator для драйвера
Сводка
ConfigDSN добавляет, изменяет или удаляет источники данных из системных сведений. Может появиться запрос на ввод сведений о подключении. Это может быть библиотека DLL драйвера или отдельная библиотека DLL установки.
Синтаксис
Аргументы
ODBC_ADD_DSN. Добавьте новый источник данных.
ODBC_CONFIG_DSN: Настройка (изменение) существующего источника данных.
ODBC_REMOVE_DSN: удалите существующий источник данных.
Возвращаемое значение
Функция возвращает TRUE, если она успешна, и FALSE в случае сбоя.
Диагностика
Когда ConfigDSN возвращает значение false, связанное значение * пферроркоде отправляется в буфер ошибок установщика путем вызова склпостинсталлереррор и может быть получен вызовом склинсталлереррор. В следующей таблице перечислены значения * пферроркоде , которые могут быть возвращены склинсталлереррор , и объясняется каждый из них в контексте этой функции.
Комментарии
ConfigDSN получает сведения о соединении из библиотеки DLL установщика в виде списка атрибутов в виде пар "ключевое слово-значение". Каждая пара завершается нулевым байтом, а весь список завершается нулевым байтом. (То есть, в конце списка отмечаются два нуль-байта.) Пробелы не допускаются вокруг знака равенства в паре "ключевое слово-значение". ConfigDSN может принимать ключевые слова, которые не являются допустимыми ключевыми словами для SQLBrowseConnect и SQLDriverConnect. ConfigDSN не обязательно поддерживает все ключевые слова, которые являются допустимыми ключевыми словами для SQLBrowseConnect и SQLDriverConnect. (ConfigDSN не принимает ключевое слово Driver .) Ключевые слова, используемые функцией ConfigDSN , должны поддерживать все параметры, необходимые для повторного создания источника данных с помощью функции автоматической установки установщика. Если использование значений ConfigDSN и значений строки подключения одинаковы, то следует использовать те же ключевые слова.
Как и в SQLBrowseConnect и SQLDriverConnect, ключевые слова и их значения не должны содержать [] <> (),;? * =! @ символов, а значение ключевого слова DSN не может состоять только из пробелов. Из-за грамматики в реестре ключевые слова и имена источников данных не могут содержать символ обратной косой черты ( \ ).
ConfigDSN должен вызвать склвалиддсн , чтобы проверить длину имени источника данных и убедиться, что в имя не включены недопустимые символы. Если имя источника данных длиннее SQL_MAX_DSN_LENGTH или содержит недопустимые символы, склвалиддсн возвращает ошибку, а ConfigDSN возвращает ошибку. Длина имени источника данных также проверяется с помощью склвритедснтоини.
Например, чтобы настроить источник данных, для которого требуется идентификатор пользователя, пароль и имя базы данных, приложение установки может передать следующие пары "ключевое слово-значение":
Дополнительные сведения об этих ключевых словах см. в разделе SQLDriverConnect и документация каждого драйвера.
Чтобы отобразить диалоговое окно, хвндпарент не должно иметь значение null.
Добавление источника данных
Если имя источника данных передается в ConfigDSN в лпсзаттрибутес, ConfigDSN проверяет допустимость имени. Если имя источника данных совпадает с существующим именем источника данных, а хвндпарент имеет значение null, ConfigDSN перезаписывает существующее имя. Если он соответствует существующему имени и хвндпарент не равен null, ConfigDSN запрашивает у пользователя перезапись существующего имени.
Если лпсзаттрибутес содержит достаточно информации для подключения к источнику данных, ConfigDSN может добавить источник данных или отобразить диалоговое окно, с помощью которого пользователь может изменить сведения о соединении. Если лпсзаттрибутес не содержит достаточно сведений для подключения к источнику данных, ConfigDSN должен определить необходимые сведения. Если хвндпарент не равно null, отображается диалоговое окно для получения сведений от пользователя.
Если ConfigDSN отображает диалоговое окно, оно должно отображать все сведения о соединении, переданные в него в лпсзаттрибутес. В частности, если в него было передано имя источника данных, ConfigDSN отображает это имя, но не позволяет пользователю изменить его. ConfigDSN может предоставлять значения по умолчанию для сведений о соединении, не переданных в него в лпсзаттрибутес.
Если ConfigDSN не удается получить полные сведения о соединении для источника данных, возвращается значение false.
Если ConfigDSN может получить полные сведения о соединении для источника данных, он вызывает склвритедснтоини в библиотеке DLL установщика, чтобы добавить новую спецификацию источника данных в файл Odbc.ini (или в реестр). Склвритедснтоини добавляет имя источника данных в раздел [источники данных ODBC], создает раздел "Спецификация источника данных" и добавляет в качестве значения ключевое слово Driver с описанием драйвера. ConfigDSN вызывает склвритеприватепрофилестринг в библиотеке DLL установщика для добавления дополнительных ключевых слов и значений, используемых драйвером.
Изменение источника данных
Чтобы изменить источник данных, необходимо передать имя источника данных в ConfigDSN в лпсзаттрибутес. ConfigDSN проверяет, что имя источника данных находится в файле Odbc.ini (или в реестре).
Если хвндпарент имеет значение null, ConfigDSN использует сведения в лпсзаттрибутес для изменения данных в Odbc.iniном файле (или в реестре). Если хвндпарент не равно null, ConfigDSN отображает диалоговое окно, используя сведения в лпсзаттрибутес; сведения, отсутствующие в лпсзаттрибутес, используются в сведениях о системе. Пользователь может изменить сведения, прежде чем ConfigDSN сохранит их в сведениях о системе.
Если имя источника данных было изменено, ConfigDSN сначала вызывает склремоведснфромини в библиотеке DLL установщика, чтобы удалить существующую спецификацию источника данных из файла Odbc.ini (или реестра). Затем он выполняет действия, описанные в предыдущем разделе, чтобы добавить новую спецификацию источника данных. Если имя источника данных не изменилось, ConfigDSN вызывает склвритеприватепрофилестринг в библиотеке DLL установщика для внесения любых других изменений. ConfigDSN не может удалить или изменить значение ключевого слова Driver .
Удаление источника данных
Чтобы удалить источник данных, необходимо передать имя источника данных в ConfigDSN в лпсзаттрибутес. ConfigDSN проверяет, что имя источника данных находится в файле Odbc.ini (или в реестре). Затем он вызывает склремоведснфромини в библиотеке DLL установщика для удаления источника данных.
Примечание
При написании версии этой подпрограммы в Юникоде она должна называться конфигдснв с аргументами ЛПКВСТР вместо LPCSTR.
Доброго времени суток!
Прошу помочь в решении проблемы. Или подсказать, проблема ли это вообще?
Есть сервер Windows Server 2003 x64.
В журнале в разделе Система постоянно сыпятся две ошибки
Source: Service Control Manager
Event ID: 7000
The ODBC Administration Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Source: Service Control Manager
Event ID: 7009
Timeout (30000 milliseconds) waiting for the ODBC Administration Service service to connect.
Поискав в интернете решение своей проблемы, я нашёл, что это связано с тем, что здесь Data Sources (ODBC) не установлены необходимые драйвера. На вкладке User DSN, присутствуют несколько записей, но при нажатии на них выскакивает вот такая запись
---------------------------
Microsoft ODBC Administrator
---------------------------
The setup routines for the Microsoft Access Driver (*.mdb, *.accdb) ODBC driver could not be found. Please reinstall the driver.
---------------------------
OK
---------------------------
---------------------------
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
---------------------------
Component not found in the registry
---------------------------
OK
---------------------------
На сайте поддержки Майкрософта, я нашёл статью, в которой описывалось, как решить проблему путём внесения записей в реестр, но у меня физически нет необходимых драйверов.
На одном из форумов нашёл пожелание установить mdac, но при переходе на страничку скачки, прочитал, что он только для x86 систем. На том же форуме есть вот такой вопрос:
"64-bit will not communicate with the 32-bit odbc driver manager. I don't think there is a 64-bit Access, is there?"
Который я задаю. Также повторю то что написал вверху.
Если это проблема, то как её решить?
Сразу оговорюсь, опыт у меня не очень большой в решении подобных проблем. И прошу не посылать в гугл ибо сижу там и без этих советов.
Доброго времени суток!
Прошу помочь в решении проблемы. Или подсказать, проблема ли это вообще?
Есть сервер Windows Server 2003 x64.
В журнале в разделе Система постоянно сыпятся две ошибки
Source: Service Control Manager
Event ID: 7000
The ODBC Administration Service service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Source: Service Control Manager
Event ID: 7009
Timeout (30000 milliseconds) waiting for the ODBC Administration Service service to connect.
Поискав в интернете решение своей проблемы, я нашёл, что это связано с тем, что здесь Data Sources (ODBC) не установлены необходимые драйвера. На вкладке User DSN, присутствуют несколько записей, но при нажатии на них выскакивает вот такая запись
---------------------------
Microsoft ODBC Administrator
---------------------------
The setup routines for the Microsoft Access Driver (*.mdb, *.accdb) ODBC driver could not be found. Please reinstall the driver.
---------------------------
OK
---------------------------
---------------------------
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
---------------------------
Component not found in the registry
---------------------------
OK
---------------------------
На сайте поддержки Майкрософта, я нашёл статью, в которой описывалось, как решить проблему путём внесения записей в реестр, но у меня физически нет необходимых драйверов.
На одном из форумов нашёл пожелание установить mdac, но при переходе на страничку скачки, прочитал, что он только для x86 систем. На том же форуме есть вот такой вопрос:
"64-bit will not communicate with the 32-bit odbc driver manager. I don't think there is a 64-bit Access, is there?"
Который я задаю. Также повторю то что написал вверху.
Если это проблема, то как её решить?
Сразу оговорюсь, опыт у меня не очень большой в решении подобных проблем. И прошу не посылать в гугл ибо сижу там и без этих советов.
Читайте также: