|
Адрес сервера
|
|||
---|---|---|---|
#18+
Доброго времени суток. Возник вопрос, можно ли из ХП узнать IP сервера/порт, на котором крутится база? PS. Вопрос не связан с защитой базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2011, 14:32 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Sergey1974Доброго времени суток. Возник вопрос, можно ли из ХП узнать IP сервера/порт, на котором крутится база?Строка подключения задаётся в приложении. Если левая рука не ведает, что творит правая, то причём тут хранимые процедуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2011, 14:35 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Я ж говорю - так надо. Просто скажите - как, ну или "никак". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2011, 14:36 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Sergey1974Просто скажите - как, ну или "никак". Никак. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2011, 14:43 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Так как тема уже есть, напишу тут. На сервере есть вся информация о подключениии, даже PID клиентского процесса, а порта подключения нет. Или я не нашёл. В MON$ATTACHMENTS его нет. В rdb$get_context('SYSTEM', 'CLIENT_PORT') его нет. rdb$get_context('SYSTEM', 'CLIENT_ADRESS') есть а порта нет. Откуда такая несправедливость? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 20:25 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protector, имеется ввиду клиентский порт? А занафига, если есть PID, по которому все уникально идентифицируется? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 22:33 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dimitrимеется ввиду клиентский порт? А занафига, если есть PID, по которому все уникально идентифицируется? Нет, я имел ввиду серверный порт, который сервер слушает. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 12:37 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorНет, я имел ввиду серверный порт, который сервер слушает. А зачем он тебе? P.S. Засунь его в пользовательскую переменную контекста. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 13:25 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Рустам, клиент может не знать собственный порт. Например, рядом с клиентом лежит конфиг с измененным портом, или порт изменен в services. Впрочем, я не знаю, зачем клиентской программе нужно знать порт. Кстати, возможна еще ситуация: программа коннектится к фбсканеру на порту 3070, тот перенаправляет ее на порт 3050. В итоге у клиента один порт, у сервера другой. Много-ли радости доставят клиенту эти знания, и зачем они вообще нужны? p.s. у IB есть "рероутинг", который аналогично коннект к одному "серверу" перенаправляет на другой. И у ФБ есть возможность соединяться как srv1:srv2:c:\db\data.gdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 13:40 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
"Собственный" порт никому не нужен, нужен серверный. Вариантов когда порт так или иначе не известен - масса, но все они так или иначе экзотические. И полагаю, что протектору они неинтересны. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 14:04 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамно все они так или иначе экзотические И давно Named Pipes стали экзотикой?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 14:29 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Спроси это у протектора, которому твой named pipes, равно как локальный протокол, а также прочие редиректинги и порт-маппинги нафиг не упали. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 14:49 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам"Собственный" порт никому не нужен, нужен серверный. а зачем нужен серверный, если в определенной конфигурации к нему напрямую подключиться будет нельзя? Экзотический случай или нет, это все равно один из вариантов. То есть, знание порта сервера это не 100% возможность подключиться к этому порту. Поэтому хочется узнать у protector, зачем ему на клиенте (!) нужен порт сервера (если что - самому серверу ни порт, ни базы нафиг не упали). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 15:23 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
kdvГаджимурадов Рустам"Собственный" порт никому не нужен, нужен серверный. а зачем нужен серверный, если в определенной конфигурации к нему напрямую подключиться будет нельзя? Экзотический случай или нет, это все равно один из вариантов. То есть, знание порта сервера это не 100% возможность подключиться к этому порту. Поэтому хочется узнать у protector, зачем ему на клиенте (!) нужен порт сервера (если что - самому серверу ни порт, ни базы нафиг не упали). Я не говорил про клиента. Я как раз про сервер. А про то что самому серверу порт не нужен - тут ты не прав. Что мне нужно - я сейчас расскажу. Дано: машина, на которой установлено несколько серверов FB (на разных портах ест-но); ХП с ES on EXTERNAL DATA SOURCE Нужно: Выполнить эту ХП для определённой базы. Известен алиас/путь БД, а вот порт? Откуда его взять? 1. Передать с клиента. В некоторых случаях порт переданный с клиента не соотвествует реальному порту, который слушает сервер. 2. Сохранить в конфиге (в таблице например). Недостаток в том, что нужно следить за соответствием конфига реальности 3. Спросить у самого сервера. Этот вариант самый надёжный, поскольку я не представляю ситуации, когда бы САМ сервер не смог бы подключится к самому себе. Локальный протокол тут не канает, посколку, как я уже говорил, серверов несколько. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 16:46 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protector2. Сохранить в конфиге (в таблице например). Недостаток в том, что нужно следить за соответствием конфига реальности??? Экземпляры бегают по рандомным портам ежедневно ? Храни их список в EXTERNAL TABLE, например. Или в хорошо известной БД на стабильном экземпляре, который не бегает по портам\хостам... protector3. Спросить у самого сервераУ какого ? Ты же не знаешь, как к нему подключиться, без номера порта... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 16:58 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvladprotector2. Сохранить в конфиге (в таблице например). Недостаток в том, что нужно следить за соответствием конфига реальности ??? Экземпляры бегают по рандомным портам ежедневно ? Однако это нельзя исключить. Ведь правда? hvladХрани их список в EXTERNAL TABLE, например. Или в хорошо известной БД на стабильном экземпляре, который не бегает по портам\хостам... hvladprotector3. Спросить у самого сервера У какого ? Ты же не знаешь, как к нему подключиться, без номера порта... Что за бред? Конечно я знаю как подключится к серверу? Но номер порта в строке подключения клиента не факт что соответсвует порту который слушает сервер. Как пример тот-же FB-сканер ZeBeDee. (Выше уже писали об этом). Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 17:17 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorКонечно я знаю как подключится к серверу? Но номер порта в строке подключения клиента не факт что соответсвует порту который слушает сервер.Так знаешь, или нет ? Кто-то из нас тут бредит, и я не уверен, что это я. Хотя - всё возможно :) Но вопрос задаёшь ты, ответ нужен тебе - и поэтому в твоих интересах, чтобы тебя понимали другие... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 17:40 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protector> машина, на которой установлено несколько серверов FB Несколько - это сколько? Обычно двух хватает. protector> Выполнить эту ХП для определённой базы. protector> Известен алиас/путь БД, а вот порт? Алиас/путь к БД не могут меняться, а порт может? Точно? > 3. Спросить у самого сервера. > Этот вариант самый надёжный, поскольку я не представляю ситуации, когда бы > САМ сервер не смог бы подключится к самому себе. Тут ты как раз сильно ошибаешься. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 20:27 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorХП с ES on EXTERNAL DATA SOURCE Нужно: Выполнить эту ХП для определённой базы. чешуя какая-то. Допустим, я бы понял желаемое, если речь идет про разные базы на одном и том же сервере. Но если речь идет про серверы А и Б, которые могут быть - на одном компе на разных портах - на разных компах с одинаковым или разным портом то для выполнения ES на сервере А для соединения к серверу Б нужно знать номер порта сервера Б, а не сервера А! И именно ЗНАТЬ, а не получать откуда-то, потому что знать нужно ДО подключения. А значит, имя сервера Б и номер порта должен быть где-то записан. У меня есть стойкое ощущение, что protector пытается сорвать нам крышу, потому что что клиенту, что ES, чтобы подключиться куда-то, нужно однозначно знать имя сервера, порт и базу (или алиас). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 21:43 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
kdvУ меня есть стойкое ощущение, что protector пытается сорвать нам крышуТаки я не один в этом ощущении :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 22:24 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Доброго времени суток! Насколько я понимаю, нужно узнать порт, используемый сервером, для текущего коннекта? Теоретически можно написать UDF и по PID процесса (во всяком случае для CS), выяснить, какой TCP порт используется. -- BR, Евгений ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 09:09 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
С помощью UDF много чего можно. А протектор хочет без. Вопрос только нужно ли. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 10:34 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Кузнецов ЕвгенийНасколько я понимаю, нужно узнать порт, используемый сервером, для текущего коннекта? нет. насколько я понял вопрос, ему нужно узнать порт ДРУГОГО сервера для выполнения ES с коннектом к тому серверу. 10901467 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 11:15 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
kdv, а я понял так, что запрос пойдет к другой базе но того же сервера :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 11:51 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dimitrа я понял так, что запрос пойдет к другой базе но того же сервера :-) Для этого достаточно использовать просто имя файла БД - коннект будет embedded в этом же экземпляре сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 11:52 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvlad, но он этого мог и не знать ;-) Раз выше писал о невозможности использования локального протокола. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 11:58 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dimitr> а я понял так, что запрос пойдет к другой базе но того же сервера :-) Да. Но сервер - это ведь не только комп, но и ПО. То бишь ПО может быть на этьом компе, но другой версии. И поэтому - это будет "другой" сервер. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 14:32 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
вообще вопрос этот уже всплывал. и звучал он примерно так: - есть N одинаковых баз. В которых есть процедура с ES, которая распихивает данные из себя по всем остальным базам. То есть, N-1. И "номер порта" нужен для того, чтобы в списке серверов опознать "себя" и исключить из "списка тиражирования". Предлагаю в этом случае отличать по имени базы или алиасу. Т.к. на одном сервере не может быть двух одинаковых алиасов или баз с идентичным путем и именем. А две одинаковые базы могут лежать на разных серверах. Так что порт для определения этих отличий является несущественным. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 14:42 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамdimitr> а я понял так, что запрос пойдет к другой базе но того же сервера :-) Да. Но сервер - это ведь не только комп, но и ПО. То бишь ПО может быть на этьом компе, но другой версии. И поэтому - это будет "другой" сервер. под сервером я имел ввиду именно софт. Т.е. у ТС на машине зоопарк серверов с разными портами, ему нужно выполнить удаленный запрос именно через свой сервер, но к другой базе. Для чего ему и нужен свой серверный порт. Мой ТЛ именно так сработал, по-крайней мере :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 14:57 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dimitrа я понял так, что запрос пойдет к другой базе но того же сервера :-) Истинная правда. Неужели я так плохо изъяняюсь, что только 1 человек меня понял? dimitrhvladДля этого достаточно использовать просто имя файла БД - коннект будет embedded в этом же экземпляре сервера. но он этого мог и не знать ;-) Раз выше писал о невозможности использования локального протокола. Верно! Про это не знал. И вроде про это нигде не написано, хотя, может я читать не умею . Это как раз то что нужно. Почему-то думал, что будет использован локальный протокол. В таком случае порт конечно не нужен. ТС на машине зоопарк серверов с разными портами, ему нужно выполнить удаленный запрос именно через свой сервер, но к другой базе. Для чего ему и нужен свой серверный порт. Мой ТЛ именно так сработал, по-крайней мере :-) Твой ТЛ поражает своей мощью.... kdvвообще вопрос этот уже всплывал. и звучал он примерно так: - есть N одинаковых баз. В которых есть процедура с ES, которая распихивает данные из себя по всем остальным базам. То есть, N-1. И "номер порта" нужен для того, чтобы в списке серверов опознать "себя" и исключить из "списка тиражирования". Предлагаю в этом случае отличать по имени базы или алиасу. Т.к. на одном сервере не может быть двух одинаковых алиасов или баз с идентичным путем и именем. А две одинаковые базы могут лежать на разных серверах. Так что порт для определения этих отличий является несущественным. Да нет. Мне как-раз известны и базы и пути. И самым очевидным было-бы выполнить ES с указанием локальных путей/алиасов без указания loclhost/port. Но тут я подумал, а что будет если на сервере установлено несколько серверов разных версий? Почему-то решил, что ES использует локальный протокол и в этом случе такой подход бы не прошёл. Но, как Влад объяснил, используется эмбедед, а в этом случае вся эта музыка нахер не упала. Всё оказалось гораздо проще. Кстати, Влад, ты меня тыкал носом в RN , но там про ЭТО не написано. И да, я научился читать релизноты . Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 18:42 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorтам про ЭТО не написано оно напрямую не связано с EXEC STMT, потому и не написано. В сервере просто нет клиентской части XNET-протокола, так что все локальные строки коннекта работают через embedded-путь, в том же адресном пространстве. Так было всегда. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 19:35 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dimitr> удаленный запрос именно через свой сервер, но к другой базе. А, ну так это все упрощает... Сложности начнутся, когда понадобится, чтобы запрос выполнил другой сервер. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 20:33 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorНо, как Влад объяснил, используется эмбедед, а в этом случае вся эта музыка нахер не упала. Всё оказалось гораздо проще. Кстати, Влад, ты меня тыкал носом в RN , но там про ЭТО не написано. И да, я научился читать релизноты .Сейчас проверим, как ты научился :) Первый же абзац гласит Release NotesContext Issues If there is no ON EXTERNAL DATA SOURCE clause present, EXECUTE STATEMENT is normally executed within the CURRENT_CONNECTION context. This will be the case if the AS USER clause is omitted, or it is present with its <user_name> argument equal to CURRENT_USER. However, if <user_name> is not equal to CURRENT_USER, then the statement is executed in a separate connection, established without Y-Valve and remote layers, inside the same engine instance . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 22:01 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvladПервый же абзац гласитХотя, соглашусь, там явного упоминания про embedded режим для коннекта к другой БД не сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 22:09 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
protectorТак как тема уже есть, напишу тут. На сервере есть вся информация о подключениии, даже PID клиентского процесса, а порта подключения нет. Или я не нашёл. В MON$ATTACHMENTS его нет. В rdb$get_context('SYSTEM', 'CLIENT_PORT') его нет. rdb$get_context('SYSTEM', 'CLIENT_ADRESS') есть а порта нет. Откуда такая несправедливость? При чтении RN на FB 3.0 прочитал: The port number is also retrieved via the new built-in context variable RDB$GET_CONTEXT('SYSTEM', 'CLIENT_PORT') Но на запрос Код: plsql 1.
получил ответ: Context variable CLIENT_PORT is not found in namespace SYSTEM А запрос Код: plsql 1.
дает в ответ 192.168.1.1/64347 FB установлен из снапшота Firebird-3.0.1.32573-0_x64 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:14 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dedRasta192.168.1.1/64347 Это подстава... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:23 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
dedRasta, похоже на ошибку в RN. Ибо первоисточник ( README.context_variables2 ) гласит: Код: plaintext 1. 2. 3. 4. 5.
и никакого "CLIENT_PORT" там нет ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:27 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvlad, после дроби следует непонятно что, но явно не номер порта. А если номер порта, то непонятно какого. Там явно не порт сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:39 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Симонов Денис, это порт клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:48 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvlad, а для чего он? Для событий что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:49 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvlad, всё понял после того как освежил знания компьютерных сетей. Другой вопрос нужно ли это знать пользователю и в удобстве возвращения в склеенном виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:55 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Симонов Денис, не понял твой вопрос. Для чего он нужен ? IP так работает. Для его его знать ? Клиентский сокет идентифицировать, например, если процесс клиента создаёт много коннектов. Что-то другое ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:56 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
hvlad, Извиняюсь. Это я подзабыл как работает tcp/ip. Прочёл вики стало понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:58 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
Симонов ДенисДругой вопрос нужно ли это знать пользователю и в удобстве возвращения в склеенном виде. Не представляю, зачем это, кроме капельки неожиданного геморроя для тех, кто перейдет с 2.5 с логированием. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 10:58 |
|
Адрес сервера
|
|||
---|---|---|---|
#18+
wadmanнеожиданного геморроя кто читает релизные ноты, у тех неожиданностей не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2016, 11:36 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1562014]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 443ms |
0 / 0 |