|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Добрый день! Столкнулся с такой проблемой. Как узнать текущий SERVERNAME через SQL? Встроенная переменная SITENAME выдаёт только DBSERVERNAME, то есть основное имя сервера, даже если соединение идет через один из алиасов, указанных через DBSERVERALIASES. В опциях onstat-а и системных таблицах не нашел (может, плохо искал). С уважением, Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 11:37 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
victor16, м.б. подойдет поле os_nodename в выводе команды echo "select * from sysmachineinfo ;" | dbaccess sysmaster ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 16:39 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
victor16Столкнулся с такой проблемой. Как узнать текущий SERVERNAME через SQL? Встроенная переменная SITENAME выдаёт только DBSERVERNAME, то есть основное имя сервера, даже если соединение идет через один из алиасов, указанных через DBSERVERALIASES. В опциях onstat-а и системных таблицах не нашел (может, плохо искал). Никогда такого не видел ранее, правда до 10 версии. Зайдем с другой стороны, как часто учим новичков :) - А зачем это надо ? Может найдется альтернативный путь решения проблемы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 18:56 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Иногда бывает необходимо удаленно cгенерить и выполнить скрипт типа: Код: plaintext 1. 2. 3. 4. 5.
Все клиентские соединения идут через алиасы (DBSERVERALIASES), которые настроены на другую подсетку. Соответственно, после генерации скрипта его приходится обрабатывать через awk, чтобы скрипт был работоспособным. Честно говоря, надеялся, что это RTFM... С уважением, Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 19:26 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
victor16Конфигурационный параметр DBSERVERNAME настроен только на соединения, предназначенные для HDR, HDR работает только через внутренний сетевой интерфейс. Все клиентские соединения идут через алиасы (DBSERVERALIASES), которые настроены на другую подсетку. Идеологически я бы сделал наоборот, т.е. служебные соединения определял бы через алиасы. Но сейчас, конечно, гемороя при изменении не избежать. Кстати, а синонимами на другой сервер воспользоваться в данном случае нельзя ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 19:45 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Нет, синонимы в данном случае бесполезны. Ну что ж, если не RTFM, тогда лучше оставить все как есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 20:06 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
svat2victor16, м.б. подойдет поле os_nodename в выводе команды echo "select * from sysmachineinfo ;" | dbaccess sysmaster ? Нет, это аналогично dbinfo("dbhostname") ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 20:09 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
похоже, в IBM-е признали ... IC59361: DISTRIBUTED TRANSACTION COORDINATOR IS DBSERVERNAME, SHOULD BE ACTUAL CONNECTION С уважением, Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 08:56 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
victor16Иногда бывает необходимо удаленно cгенерить и выполнить скрипт типа: Код: plaintext 1. 2. 3. 4. 5.
Все клиентские соединения идут через алиасы (DBSERVERALIASES), которые настроены на другую подсетку. Соответственно, после генерации скрипта его приходится обрабатывать через awk, чтобы скрипт был работоспособным. Честно говоря, надеялся, что это RTFM... С уважением, Виктор Что вам мешает в клиентском окружении в sqlhosts прописать параметры конекта к серверу информикс таким образом, чтобы имя сервера информикс = DBSERVERNAME Информикс не проверяет привязку имени сервера к порту, главное чтобы имя севера было перечислено в DBSERVERNAME или в DBSERVERALIASES ну и соответственно листенер висел для нужного порта. На последних версиях не проверял, но на 9.40 было точно - для настройки репликакации HDR указываешь в sqlhosts имя сервера от фонаря но с правильными другими полями и все как-то работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 10:08 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Работать оно, конечно, будет, но что-то мне подсказывает, что переменная SITENAME в селекте все равно будет указывать на параметр DBSERVERNAME из онконфига. С уважением, Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 11:17 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Правильно, указывать будет на DBSERVENAME. Никто не мешает использовать для соединения одно и тоже имя сервера информикс во всех подсетях. То, что прописано на самом сервере - это лишь для конектов на самом сервере и запуска листенеров - снова же на сервере. На клиенте можешь прописывать имя сервера любое в настройках, лишь бы оно было указано в DBSERVENAME и DBSERVERALIASES. Если на всех клиентах имя сервера определять как DBSERVENAME а параметрі соединения как соответствующие серверам в DBSERVERALIASES на сервере, то подобній вопрос вообще не возник бі. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 12:14 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
А вы уверены, что это будет работать при доступе из разных сетевых интерфейсов? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 16:27 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
если б не работало - не писал бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 16:49 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Да, вроде работает. Остается решить вопрос для локальных соединений. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 16:50 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Соединяется только по tcp-протоколу, по ssl - увы. Но все равно, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 16:56 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Очевидно, что через Connection Manager тоже не будет работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 17:01 |
|
Как узнать текущий SERVERNAME?
|
|||
---|---|---|---|
#18+
Через SSL тоже заработало, правда, пришлось перегенерить сертификаты. С локальными соединениями тоже решилось через переменную окружения INFORMIXSQLHOSTS. Осталось только тоже самое сделать через Connection Manager. По-любому, спасибо за решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 17:44 |
|
|
start [/forum/topic.php?fid=44&fpage=24&tid=1607599]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 151ms |
0 / 0 |