Я создал базу данных 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.