Ранее я устанавливал IIB версии 9 в Windows 7. Драйверы ODBC появляются как в «Администраторе Microsoft ODBC» (32-разрядная версия), так и в «Источниках данных x64 (ODBC)».
Теперь я установил вместе с ним IIB версии 10 (10.0.0.21 Developer edition), и в окне источников данных x64 не отображаются драйверы версии 10.
Кроме того, я могу создавать источники данных (системный DSN) в версии 10.0.0.21 с помощью 32-разрядной версии инструмента администратора, но когда я пытаюсь удалить источник данных, я получаю следующие сообщения:
Не удалось найти процедуры установки драйвера ODBC IBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protoco [sic]. Пожалуйста, переустановите драйвер.
Сбой ConfigDSN, ConfigDriver или ConfigTranslator драйвера. Обнаружены ошибки: Компонент не найден в реестре
Я могу прекрасно создавать и удалять источники данных IIB9, используя любой инструмент.
Тот факт, что имя драйвера обрезано в цитате, подразумевает, что есть проблема с превышением некоторой максимальной длины имени, но я не знаю, правда это или нет. Я попытался отредактировать реестр, чтобы имя соответствовало тому, что отображается в текстовом поле (в соответствии с некоторыми инструкциями, которые я видел в Интернете), но это просто изменило сведения о драйвере в 32-битном пользовательском интерфейсе и по-прежнему не отображается в 64-битном .
В реестре у меня есть следующее:
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-битный протокол Oracle Wire
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-битный Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-битный Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-BIT Sybase Wire Protocol
Я предполагаю, что мне нужно переустановить драйверы IIB ODBC? — Если да, то могу ли я это сделать; и если нет, что мне нужно сделать, чтобы решить эту проблему?
1 ответ
Лучший ответ
Имя драйвера «IBM Integration Bus 10.0.0.n Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protocol» слишком длинное для Windows.
Вы должны войти в Реестр и заменить его более коротким именем везде, где это имя появляется. Это решит эту проблему, и все DSN снова будут работать.
Пути реестра для изменения:
- HKEY_LOCAL_MACHINESOFTWAREODBCODBC.INIИсточники данных ODBC (изменить)
- HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI (переименовать)
- HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers (изменить)
Скриншот Редактор реестра
1
Alexander Denisov
9 Фев 2022 в 16:20
I previous installed IIB version 9 on Windows 7. The ODBC drivers appear in both «Microsoft ODBC Administrator» (32-bit) and «Data Sources x64 (ODBC)».
I have now installed IIB version 10 (10.0.0.21 Developer edition) alongside it, and the x64 data sources window doesn’t show the version 10 drivers.
Additionally, I can create data sources (System DSN) under Version 10.0.0.21 using the 32-bit version of the administrator tool, but when I try to delete the Data Source I get the following messages:
The setup routines for the IBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protoco [sic] ODBC driver could not be found. Please reinstall the driver.
Driver’s ConfigDSN, ConfigDriver, or ConfigTranslator failed. Errors Found: Component not found in registry
I can create and delete IIB9 Data Sources just fine, using either tool.
The fact that the name of the driver is cut off in the quote implies to me that there is an issue with some max name length being surpassed, but I don’t know if that’s true or not. I have tried editing the registry to make the name match that seen in the textbox (in accordance with some instructions I saw online), but it just made the driver details change in the 32-bit UI and still not appear in the 64-bit.
In the registry I have the following:
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-BIT Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-BIT Sybase Wire Protocol
I assume I need to reinstall the IIB ODBC drivers? — If so, can I do that; and if not, what do I need to do to resolve this?
I previous installed IIB version 9 on Windows 7. The ODBC drivers appear in both «Microsoft ODBC Administrator» (32-bit) and «Data Sources x64 (ODBC)».
I have now installed IIB version 10 (10.0.0.21 Developer edition) alongside it, and the x64 data sources window doesn’t show the version 10 drivers.
Additionally, I can create data sources (System DSN) under Version 10.0.0.21 using the 32-bit version of the administrator tool, but when I try to delete the Data Source I get the following messages:
The setup routines for the IBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protoco [sic] ODBC driver could not be found. Please reinstall the driver.
Driver’s ConfigDSN, ConfigDriver, or ConfigTranslator failed. Errors Found: Component not found in registry
I can create and delete IIB9 Data Sources just fine, using either tool.
The fact that the name of the driver is cut off in the quote implies to me that there is an issue with some max name length being surpassed, but I don’t know if that’s true or not. I have tried editing the registry to make the name match that seen in the textbox (in accordance with some instructions I saw online), but it just made the driver details change in the 32-bit UI and still not appear in the 64-bit.
In the registry I have the following:
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration (9.0.0.2) — DataDirect Technologies 7.0 64-BIT Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIIBM Integration Bus 10.0.0.21 Developer Edition — DataDirect Technologies 64-BIT Sybase Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-BIT Oracle Wire Protocol
-
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBCODBCINST.INIIBM Integration (9.0.0.6) — DataDirect Technologies 7.1 64-BIT Sybase Wire Protocol
I assume I need to reinstall the IIB ODBC drivers? — If so, can I do that; and if not, what do I need to do to resolve this?
|
|||
| zdas
10.06.09 — 20:06 |
Пытаюсь сохранить конфигурацию, на новый SQL 2005, при сохранении выдает:
«Не предоставлены ключевые слова DSN и SERVER» Что может быть? |
||
| ТелепатБот
1 — 10.06.09 — 20:06 |
Книга знаний: Множественный отбор в журналах и справочниках 7.7 заменой запросов SQL |
||
| zdas
2 — 11.06.09 — 09:24 |
ап |
||
| bvn13
3 — 11.06.09 — 09:25 |
(0) перезаполни настройки подключения к СКЛ |
||
| ДенисЧ
4 — 11.06.09 — 09:26 |
в свойствах базы скл совместимость поставь. |
||
| zdas
5 — 11.06.09 — 09:27 |
(3) перезаполнял |
||
| ДенисЧ
6 — 11.06.09 — 09:33 |
убе |
||
| ДенисЧ
7 — 11.06.09 — 09:33 |
убей все dsn в системе, относящиеся к этому серверу. |
||
| zdas
8 — 11.06.09 — 09:34 |
(7) можно поподробнее, админ не я в системе, как ему это объяснить? |
||
| ДенисЧ
9 — 11.06.09 — 09:36 |
(8) Если админ не знает, что такое DSN, то… 🙂 |
||
| vde69
10 — 11.06.09 — 09:38 |
7.7 и SQL 2005 штатно не работают, ищи статьи на эту тему в инете |
||
| ДенисЧ
11 — 11.06.09 — 09:40 |
(10) В этом случае — не тот случай, ибо сообщение не то. |
||
| zdas
12 — 18.06.09 — 18:20 |
(9) судя по всему придется самому делать, можно на пальцах объяснить? |
||
| ДенисЧ
13 — 18.06.09 — 18:27 |
(12) На пальцах — пошагово описано в (9) Просто выполни эти шаги из меню пуск… |
||
| zdas
14 — 18.06.09 — 18:34 |
(13) а если не поможет? я к тому что если не поможет удаление всех DSN? |
||
| zdas
15 — 22.06.09 — 18:46 |
(13)не помогло(((( |
||
| zdas
16 — 23.06.09 — 08:27 |
up |
||
| filh
17 — 23.06.09 — 08:39 |
http://www.script-coding.info/SQL2005.html |
||
| zdas
18 — 23.06.09 — 08:46 |
(17) это я видел. все необходимые настройки SQL сделаны, не первый раз ставлю на SQL 2005 базы 7ошные. |
||
| zdas
19 — 23.06.09 — 10:08 |
вверх |
||
| zdas
20 — 23.06.09 — 14:56 |
ап |
||
|
zdas 21 — 24.06.09 — 12:06 |
вверх |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
1. Первый — добавить источник данных.
Щелкните Панель управления -> Система и безопасность -> Инструменты управления -> Источник данных ODBC (64-разрядная версия).





В настоящее время после исправления ошибки я могу напрямую настроить
Но до того, как моя операционная система была 64-разрядной, а драйвер ODBC был 32-разрядным (поэтому студенты, у которых нет этой ошибки, могут пропустить следующий шаг, а студенты, которые ошибаются как я, не паникуй. Смотри вниз)
Мы выбираем другой способ открытия
Введите адрес в документе, найдите odbcad32.exe и нажмите
C:WindowsSystem32

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

Нажмите «Настроить» -> «Выбрать»

выберите базу данных, которую вы хотите импортировать

Нажмите «ОК».
2. Используйте Eclipse
Есть ловушка, обратите внимание, изучающие jdk версии 1.8. Начиная с 1.8, мост jdbc-odbc был удален для dk, поэтому драйвер odbc недоступен. Рекомендуется переустановить jdk1.7 или более раннюю версию.
Вы можете загрузить версию jdk1.7 прямо на официальном веб-сайте. После установки вам не нужно перенастраивать переменные среды, потому что мы хотим изменить jdk-версию tomcat, поэтому откройте каталог установки tomcat, найдите файлы bin catalina.bat и bin setclasspath.bat, отредактируйте их с помощью Блокнота и добавьте:
set JAVA_HOME=путь установки jdk1.7
set JRE_HOME=путь установки jre1.7
Перезапустите Eclipse!
3. Ошибка запуска кода.
[Microsoft] [Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и приложения не совпадает

Причина в том, что моя предыдущая операционная система была 64-битной, а драйвер ODBC — 32-битным.
Итак, нам нужно установить 64-разрядный драйвер ODBC.
Загрузите и установите Microsoft Access Engine, а именно AccessDatabaseEngine_x64.exe, с официального сайта.
Конкретные методы установки и ссылки см. в статье этого блоггера http://www.360doc.com/content/14/0905/14/16002580_407231997.shtml
После загрузки
непосредственно щелкните AccessDatabaseEngine_x64.exe, он появится

Это потому, что на вашем компьютере установлена 32-разрядная версия Office, а 64-разрядная версия Office не может быть установлена.
Вы можете удалить 32-битный офис, но это не только проблематично, но и легко удалить по ошибке или не очистить
Вот способ одновременного существования 32-разрядной и 64-разрядной версии
Откройте командное окно cmd
Найдите путь установки AccessDatabaseEngine_x64.exe
Я сохраняю его прямо на рабочем столе, просто введите команду

После добавления параметра [/ passive] при установке 64-разрядной системы обработки данных Access не нужно проверять, была ли установлена 32-разрядная версия снова, и вы можете пропустить прямую установку 64-разрядной версии. -битная версия.
Поздравляем, вы можете успешно подключиться к базе данных ~
The line conn = pyodbc.connect(r'DSN=my_dsn;UID=User;PWD=Password') seems to be using the literal string values of my_dsn, User and Password. You can try using keywords like the documentation here, or do a similar string formatting as you did for your hard coded solution but replace it with the loaded config data.
From the documentation it seems you should be able to load the DSN info directly from the ini, but I haven’t had much success on my own either. The caveat is the document only said you can possibly use the login credential, so maybe it depends on the driver?
Either way, below is a version using configparser that should work. It might be considered a hack for some.
import pyodbc
from configparser import ConfigParser
config = ConfigParser()
config.read(configfile) # your odbc.ini file path and name
dsn = config['my_dsn']
#If you want to use Keywords:
conn = connect(driver=dsn['driver'], server=dsn['server'], database=dsn['database'], uid=dsn['user'], pwd=dsn['password'])
#If you want to use string formatting with list comprehension instead:
conn = pyodbc.connect(''.join(['{0}={1}; '.format(k, l) for k, l in d.items()])
The line conn = pyodbc.connect(r'DSN=my_dsn;UID=User;PWD=Password') seems to be using the literal string values of my_dsn, User and Password. You can try using keywords like the documentation here, or do a similar string formatting as you did for your hard coded solution but replace it with the loaded config data.
From the documentation it seems you should be able to load the DSN info directly from the ini, but I haven’t had much success on my own either. The caveat is the document only said you can possibly use the login credential, so maybe it depends on the driver?
Either way, below is a version using configparser that should work. It might be considered a hack for some.
import pyodbc
from configparser import ConfigParser
config = ConfigParser()
config.read(configfile) # your odbc.ini file path and name
dsn = config['my_dsn']
#If you want to use Keywords:
conn = connect(driver=dsn['driver'], server=dsn['server'], database=dsn['database'], uid=dsn['user'], pwd=dsn['password'])
#If you want to use string formatting with list comprehension instead:
conn = pyodbc.connect(''.join(['{0}={1}; '.format(k, l) for k, l in d.items()])