Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Выполнение скриптов / 13 сообщений из 13, страница 1 из 1
23.01.2007, 19:34
    #34276598
tsadss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Есть ли какая-либо программа, которая позволяет выполнять SQL-скрипты Informix (создание таблиц, хранимок) на стороне клиента (под Windows), и при этом возвращает результат выполнения операции (например, выставляет код ошибки в ERRORLEVEL или другим способом). Программа должна работать из командной строки, принимать в качестве параметров файл/файлы
Сервер - Linux, Solaris. Пробовал использовать SQL Editor от Informix, все выполняет, но код выполнения нигде не устанавливает, только результат выполнения SQL-выражений записывает в output- файл. Иными словами, нужен аналог dbaccess (как отдельная программа) под windows. :-)
...
Рейтинг: 0 / 0
23.01.2007, 19:58
    #34276634
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
tsadssЕсть ли какая-либо программа, которая позволяет выполнять SQL-скрипты Informix (создание таблиц, хранимок) на стороне клиента (под Windows), и при этом возвращает результат выполнения операции (например, выставляет код ошибки в ERRORLEVEL или другим способом). Программа должна работать из командной строки, принимать в качестве параметров файл/файлы
Сервер - Linux, Solaris. Пробовал использовать SQL Editor от Informix, все выполняет, но код выполнения нигде не устанавливает, только результат выполнения SQL-выражений записывает в output- файл. Иными словами, нужен аналог dbaccess (как отдельная программа) под windows. :-)

под windows существует dbaccess.
...
Рейтинг: 0 / 0
23.01.2007, 21:44
    #34276753
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Выбегаллопод windows существует dbaccess.
Просто в виндовый клиент он не входит, а устанавливается "испокон веков" вместе с сервером на виндовс. Кстати, можно сервер и не ставить только ради этого - есть уже готовая рабочая "выжимка" с версии 7.31. Лежит здесь http://www.informix.com.ua/DBA_Tools/dbAccess_Client(IDS731).zip
...
Рейтинг: 0 / 0
24.01.2007, 11:56
    #34278006
tsadss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
vasilis Выбегаллопод windows существует dbaccess.
Просто в виндовый клиент он не входит, а устанавливается "испокон веков" вместе с сервером на виндовс. Кстати, можно сервер и не ставить только ради этого - есть уже готовая рабочая "выжимка" с версии 7.31. Лежит здесь http://www.informix.com.ua/DBA_Tools/dbAccess_Client(IDS731).zip

Большое спасибо за клиента. К сожалению, мне не удалость его запустить, при запуске выдает ошибку "Could not initialize the security subsystem. Please insure thetn this account has the nesessary privileges".
Изначально я скопировал два каталога из архива в соответствующие ветки Informix клиента (Клиент - 2.90), Пути к клиенту установлены как к в переменной окружения PATH, так и в setnet. Дополнительно установлены переменные окружения INFORMIXDIR, INFORMIXSERVER. INFORMIXDIR - путь к Informix Client, INFORMIXSERVER - Имя informixserver из setnet. Попробовал скопировать 2 каталога из архива в отдельную папку с коротким именем (C:\Infx) и переназначить на эту папку переменную INFORMIXDIR - ошибка не исчезла. Сам Informix запущен на Linux -сервере, доступ к нему из программ (Server Studio, WinSQL( через ODBC)) проходит нормально. Возможно, так как сервер Informix на моей рабочей станции не установлен, для dbaccess требуется переназначить какие либо переменные окружения или его необходимо вызывать с дополнительными параметрами из командной строки?
...
Рейтинг: 0 / 0
24.01.2007, 12:00
    #34278033
tsadss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Версия Informix на Linux - 9.40 UC6. Не может ли здесь быть какой - то засады, ведь dbaccess - для семерки?
...
Рейтинг: 0 / 0
24.01.2007, 13:21
    #34278519
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
tsadssБольшое спасибо за клиента. К сожалению, мне не удалость его запустить, при запуске выдает ошибку "Could not initialize the security subsystem. Please insure thetn this account has the nesessary privileges".
Для ответа я просто скопировал один из разделов FAQ_DBA_Tools, в котором рассмотрена конкретно эта проблема. Внимательно прочитай и постарайся тщательно выполнить (проверить).
----------------------------------------------------------
* Можно ли использовать DBA_Tools для удаленных серверов ?
----------------------------------------------------------
В принципе, инструментарий предназначен для работы на локальном компьютере (где установлен сервер Информикс), но может также работать и удаленно (т.е. с удаленными серверами).
Если у вас правильно описан SQLHOSTS и необходимые переменные окружения, (а также нет проблем с безопасностью, т.е. разрешен вход на удаленный сервер (см. hosts.equiv))
то в большинстве случаев, если утилита это позволяет, работать с удаленными серверами
можно (например, для DBEXPORT имя базы задавайте, как имя_базы@имя_сервера).
(Проверить возможность доступа можно F4: F1: R: list databases on remote Instance )

Естественно, что выполнение запросов к удаленной БД тоже работает.
Для облегчения указания такой БД переустановите переменную %_db% (_db=stores7@ol_server)
или %_sm% (_sm=sysmaster@ol_server).
Для выполнения SQL-запросов с компьютера, на котором не установлен IDS, нужно установить дополнительно универсальную утилиту dbAccess (скачайте архив dbAccess_Client.zip или dbAccess_Client.exe). Напомню, что ONSTAT и ONMODE работает только на локальном компьютере через разделяемую память.
------------
При получении сообщения
"Could not initialize the security subsystem. Please ensure that this account has the necessary privileges" убедитесь, что у вас правильно описаны все необходимые переменные окружения для удаленного хоста (Informixserver, onconfig). Если они все правильно указаны, то необходимо знать и следующий баг (или фичу :) для всех версий на платформе Windows, начиная с 7.30х.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
89628   DBACCESS FAILS TO START WITH ERROR "COULD NOT INITIALIZE THE
         SECURITY SUBSYSTEM", WHEN THE ENVIRONMENT VARIABLE INFORMIXSERVER
         SET TO A REMOTE SERVER.
W/A:    DB-Access is failing because it tries to access the following
         non-existent registry key and sub keys:
        HKEY_LOCAL_MACHINE\Software\Informix\OnLine\<%INFORMIXSERVER%>
         <%INFORMIXSERVER%> is the value of the environment variable INFORMIXSERVER.
         A possible workaround is to use a registry editor to create this key
         and restore the local INFORMIXSERVER sub key over it. Use this workaround only if you 
         plan to use this computer solely as a client to a remote server, because Informix 
         utilities run on or against the local computer would see a server that does not exist.
         Make sure that you back up the HKEY_LOCAL_MACHINE\Software\Informix registry key before
         modifying any Informix registry settings.

Необходимо уточнить, что нужно не только создать ветку ...OnLine\<%INFORMIXSERVER%>, но и создать почти все ее содержимое, т.е. ветки Environment и Security (кроме ветки Setup).
При этом не забыть указать необходиого пользователя, который регистрируется в локальном Windows, т.е. надо создать в реестре ветку для сервера, который указан в переменной INFORMIXSERVER
[HKEY_LOCAL_MACHINE\SOFTWARE\Informix\OnLine\%INFORMIXSERVER%\Security\Users\Usernames]
и прописать там нужного пользователя.
Для примера можно использовать готовый для импорта в реестр файл:
%DBA%\Config\HK_LM_SoftWare_Informix_Online_ol_asfu (short).reg
------------
...
Рейтинг: 0 / 0
24.01.2007, 13:24
    #34278537
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
tsadssВерсия Informix на Linux - 9.40 UC6. Не может ли здесь быть какой - то засады, ведь dbaccess - для семерки?
Нет, обычно никаких проблем не возникает, разве что старый dbaccess не знает каких то новых конструкций SQL. Кстати, никто не мешает сделать такой же отдельный вариант dbaccess новой версии по уже готовому подобию.
...
Рейтинг: 0 / 0
24.01.2007, 16:18
    #34279397
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Вот здесь DB-Access Utility for Windows совершенно официально выложен отдельный dbaccess
...
Рейтинг: 0 / 0
24.01.2007, 16:53
    #34279579
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
AndronВот здесь DB-Access Utility for Windows совершенно официально выложен отдельный dbaccess
Точно. Уже более 2-х лет. Причем об этом уже упоминалось на форуме.

Кстати, вопрос tsadss - а вы случайно не забыли установить клиента Informix? Без него то уж точно ничего не будет :)
...
Рейтинг: 0 / 0
25.01.2007, 10:01
    #34280851
tsadss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Клиента установить не забыл :-).
Всем спасибо, dbaccess на клиенте удалось запустить, позволит хоть как то выкрутиться при решении стоящей перед нами проблемы. Единственно есть два неприятных момента, которые возникают при запуске.
1. При запуске из командной строки он берет имя и пароль, под которым заходишь в Windows, не позволяя вносить их как параметры.
2. На сервере (Linux) требует прописать имя машины в /etc/hosts.equiv

Если первую проблему легко обойти, создав нужного пользователя на локольной машине и запускать от него программу, то второй пунк решается только наличием прав администратора на Linux, которых нет :-).
Может кто-то другим образом решал проблему номер 2?
...
Рейтинг: 0 / 0
25.01.2007, 10:29
    #34280947
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
tsadssМожет кто-то другим образом решал проблему номер 2?equiv можно положить в домашний каталог пользователя.
Раньше dbaccess умел "connect to 'mydatabase@myserver' USER 'test' as 'password';", теперь разучился, ищите старый dbaccess.


ЗЫЖ: Напишу аналог dbaccess под win который будет уметь все тоже самое, плюс "connect to 'mydatabase@myserver' USER 'test' as 'password';", недорого, тыщ за 5 баксов ;). Парсер скриптов уже у мене есть: http://myinformix.narod.ru/misc/misc.html
...
Рейтинг: 0 / 0
25.01.2007, 17:57
    #34283045
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
Журавлев ДенисРаньше dbaccess умел "connect to 'mydatabase@myserver' USER 'test' as 'password';", теперь разучился, ищите старый dbaccess.
А когда он "разучился", с какой версии ?
А то я на это и внимания не обращал....
...
Рейтинг: 0 / 0
25.01.2007, 18:16
    #34283122
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение скриптов
vasilis Журавлев ДенисРаньше dbaccess умел "connect to 'mydatabase@myserver' USER 'test' as 'password';", теперь разучился, ищите старый dbaccess.
А когда он "разучился", с какой версии ?
А то я на это и внимания не обращал....не знаю, но теперь оно:

informix@nag:~> echo "connect to 'a@inf' USER 'test' using 'test';"|dbaccess sysmaster

Database selected.


32412: USING clause unsupported. DB-Access will prompt you for a password.
Error in line 1
Near character position 31
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Выполнение скриптов / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]