Сконфигурируйте базу данных Informix, чтобы сделать ее доступной через JDBC - PullRequest
0 голосов
/ 19 апреля 2020

Я создал базу данных Informix, как описано в моем предыдущем вопросе ( Создать базу данных Informix ). Теперь мне нужен JDB C доступ к нему. Как мне настроить сервер баз данных Informix?

Я могу создать базу данных, таблицы и выполнять любые запросы с помощью утилиты dbaccess.

Я пытался подключиться к нему через JDB C со следующей строкой соединения (test база данных была создана dbaccess):

jdbc:informix-sqli://localhost:8202/test:INFORMIXSERVER=myserver;user=informix;password=1111;

Результат:
Connection refused java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java:-2)

Ok, поскольку user=informix и password=1111 являются локальными Linux пользователем и паролем, похоже, что мне нужно правильно добавить user.

Итак, я изменил в $INFORMIXDIR/etc/onconfig строку
с USERMAPPING OFF
до USERMAPPING ADMIN.

Затем я подключился к test базе данных через dbaccess и создал пользователя в соответствии с оператором CREATE USER do c:

CREATE USER mary WITH PASSWORD "joebar" PROPERTIES UID 44567 GROUP(1234)

Опять безуспешно:

jdbc:informix-sqli://localhost:8202/test:INFORMIXSERVER=myserver;user=mary;password=joebar;

Результат тот же:
Connection refused java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java:-2)

Более того, я могу не используйте этого пользователя для подключения через dbaccess. Буквально:

  • dbaccess
  • DBACCESS >> Подключение
  • CONNECTION >> Подключение
  • SELECT DATABASE SERVER >> myserver
  • USER NAME >> [ВОЗВРАТ] (ничего не печатать)
  • SELECT DATABASE >> выберите test@myserver

Результат: Database selected.

Но если я пытается использовать созданного пользователя:

  • dbaccess
  • DBACCESS >> подключение
  • CONNECTION >> подключение
  • SELECT DATABASE SERVER >> myserver
  • USER NAME >> Мэри
  • PASSWORD >> Джобар
  • SELECT DATABASE >> выберите test@myserver

Результат:

   387: No connect permission.
   111: ISAM error:  no record found.
...