Не удается подключиться к Informix из приложения ASP.NET - PullRequest
3 голосов
/ 13 июля 2010

Я установил пробную версию IBM Informix Dynamic Server 11.50 на свой ноутбук для разработки для использования с приложением ASP.NET 2.0, которое я пишу. Я создал пару баз данных и заполнил их образцами данных, но не могу подключиться. Это соответствующий раздел кода:

Dim facStr As String = System.Configuration.ConfigurationManager.ConnectionStrings("fact").ConnectionString  
conn.ConnectionString = facStr
Try
    conn.Open()
Catch ex As Exception

Исключение составляет:

[поставщик Informix .NET] [Informix] Сервер ol_srv_custom не указан в качестве имени dbserver в sqlhosts.

Полный путь к файлу sqlhosts:

C: \ Archivos de programa \ IBM \ Informix \ Client-SDK \ etc \ sqlhosts

Переменные среды Informix:

INFORMIXSQLHOSTS = C: \ Archivos de programa \ IBM \ Informix \ Client-SDK \ etc \ sqlhosts

Содержимое файла sqlhosts:

ol_srv_custom olsoctcp * nb-desarrollo svc_custom

Соединительная строка:

** Host = * нб-Desarrollo; Сервис = svc_custom; Server = ol_srv_custom; Database = факт; Идентификатор пользователя = informix; пароль = **********

Есть идеи?


ODBC тоже не работает. Когда я пытаюсь создать DSN, пользовательский интерфейс драйвера просит меня выбрать «Имя сервера» из выпадающего списка, но оно пустое. Фактически, единственный способ подключиться к этой установке Informix - это использовать консольную утилиту dbaccess, так я создал тестовые базы данных и вставил образцы данных. Я не уверен, что этот вопрос все еще относится к SO, возможно, ServerFault может быть более подходящим местом, чтобы спросить, но я не знаю, как его переместить.

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Я бы также предложил вам создать соединение ODBC и протестировать его. Есть информация как это сделать с помощью setnet32 (для более старой версии): http://www.synametrics.com/ifmxODBC.htm

0 голосов
/ 19 октября 2018

Документация в интернете и сообщение об ошибке вводят в заблуждение.У меня была та же ошибка, и тем временем я узнал, как ее решить.

Когда вы устанавливаете Informix Client SDK для Windows и используете драйвер ODBC для Informix (с или без .NET), вы должны передать следующие параметры:

  1. Хост
  2. Сервер
  3. Сервис или порт
  4. Протокол
  5. Идентификатор пользователя
  6. Пароль

Все эти параметры обязательны .База данных является необязательной.

В вашей строке подключения протокол отсутствует.Если какой-либо параметр отсутствует, драйвер OBDC выполняет поиск сервера в реестре в разделе

32-битный драйвер: HKLM \ Software \ Wow6432Node \ Informix \ SQLHOSTS \ Servername

64-битный драйвер: HKLM\ Software \ Informix \ SQLHOSTS \ Имя_сервера

Если сервера там нет в списке, вы получаете сообщение об ошибке " XYZ сервера не указан как имя сервера базы данных в sqlhosts. "

Обратите внимание, что только в Linux используется sqlhosts file .В Windows те же данные хранятся в реестре.

Вам НЕ нужно создавать файл sqlhosts, хотя сообщение об ошибке, документация и несколько веб-страниц заставляют вас думать, что.

Вы делаетеНЕ нужно использовать инструмент IBM SetNet32 для создания записей для вашего сервера.

Вам просто нужно передать ВСЕ обязательные параметры драйверу ODBC, и ошибка исчезнет.

Жаль, что IBM не может дать более интеллектуальное сообщение об ошибке.

...