Документация в интернете и сообщение об ошибке вводят в заблуждение.У меня была та же ошибка, и тем временем я узнал, как ее решить.
Когда вы устанавливаете Informix Client SDK для Windows и используете драйвер ODBC для Informix (с или без .NET), вы должны передать следующие параметры:
- Хост
- Сервер
- Сервис или порт
- Протокол
- Идентификатор пользователя
- Пароль
Все эти параметры обязательны .База данных является необязательной.
В вашей строке подключения протокол отсутствует.Если какой-либо параметр отсутствует, драйвер OBDC выполняет поиск сервера в реестре в разделе
32-битный драйвер: HKLM \ Software \ Wow6432Node \ Informix \ SQLHOSTS \ Servername
64-битный драйвер: HKLM\ Software \ Informix \ SQLHOSTS \ Имя_сервера
Если сервера там нет в списке, вы получаете сообщение об ошибке " XYZ сервера не указан как имя сервера базы данных в sqlhosts. "
Обратите внимание, что только в Linux используется sqlhosts file .В Windows те же данные хранятся в реестре.
Вам НЕ нужно создавать файл sqlhosts, хотя сообщение об ошибке, документация и несколько веб-страниц заставляют вас думать, что.
Вы делаетеНЕ нужно использовать инструмент IBM SetNet32 для создания записей для вашего сервера.
Вам просто нужно передать ВСЕ обязательные параметры драйверу ODBC, и ошибка исчезнет.
Жаль, что IBM не может дать более интеллектуальное сообщение об ошибке.