![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IP адрес сервера [D7, MSSQL]
Stanislav © (2005-02-01 15:25:00)Можно ли из ADO узнать IP Арес сервера ?
Проблема такая есть две идентичные базы на разных серверах, клиент подключается через UDL. Если в UDL сменить сервер, то приложение будет спокойно работать с другим сервером, но возникла ситуация когда нужно различить с каким сервером работает программ и желательно знать IP.
Stanislav (2005-02-02 16:46:00) [1]Спасибо! буду разбираться.
В таблицы данных будет вносится не много. И скорее всего не параллельно.
Nikolay M. (2005-02-02 16:39:00) [2]
> GetComputerName в самой расширенной х.п. ?
Конечно. Зачем жестко прописывать? Но это опять дополнительные ресурсы, если в таблицу валятся десятки или сотни записей в секунду, будут неплохие тормоза.
Nikolay M. (2005-02-02 16:39:00) [3]
> GetComputerName в самой расширенной х.п. ?
Конечно. Зачем жестко прописывать? Но это опять дополнительные ресурсы, если в таблицу валятся десятки или сотни записей в секунду, будут неплохие тормоза.
Stanislav (2005-02-02 16:34:00) [4]И что, если на рабочем сервере и на тестовом вызвать GetComputerName результат будет одинаковым? Я имел ввиду если жестко прописать.
GetComputerName в самой расширенной х.п. ?
Nikolay M. (2005-02-02 16:24:00) [5]
> Честно говоря еще думаю стоит ли. А что это может как-то
> помешать или просто лишний гемор ?
Это лишняя загрузка сетевого трафика + геморрой тебе.
> Передавай по UDP все, что угодно. Немогу.
> Дело в том что на одном сервере база рабочая на другом тренировочная
> и рабочая просто вливается на трен. сервер со всеми настройками.
И что, если на рабочем сервере и на тестовом вызвать GetComputerName результат будет одинаковым?
Stanislav (2005-02-02 15:36:00) [6]Передавай по UDP все, что угодно.Немогу.
Дело в том что на одном сервере база рабочая на другом тренировочная и рабочая просто вливается на трен. сервер со всеми настройками.
а на одном компьютере м.б. несколько инстансов...
Такого небудет.
А вообще, имхо, зря ты устраиваешь себе приключений на свою 5 точку с колбэками от сервера. Так ли уж нужно знать, что делают другие юзеры?
Честно говоря еще думаю стоит ли. А что это может как-то помешать или просто лишний гемор ?
Это я хочу всего сделать на 2-3 таблицах.
Nikolay M. (2005-02-02 14:51:00) [7]Передавай по UDP все, что угодно, в т.ч. можно и имя сервера (только что под этим подразумевается? имя инстанса? или имя компьютера в сети? а на одном компьютере м.б. несколько инстансов...).
А вообще, имхо, зря ты устраиваешь себе приключений на свою 5 точку с колбэками от сервера. Так ли уж нужно знать, что делают другие юзеры?
Stanislav (2005-02-02 14:32:00) [8]Nikolay M. © (01.02.05 16:58) [3]
Может и подойдет.
Я вобщем что делаю. Обратная связь с сервером, т.е. на добавление записи в таблицу в триггере выполняется х.п., которая отправляет сообщение по IDUDPClient. А приложение его обрабатывает, но Приложение будет обрабатывать как от одного сервера, так и от другого, поэтому нужно знать с каким именно сервером работаем, от того сервера и обрабатывать сообщение.
В IDUDPSERVER я могу узнать IP откуда пришло сообщение.
Вот теперь нужно узнать IP адрес сервера. Либо вытащить наименование машины через IP.
Nikolay M. (2005-02-01 16:58:00) [9]
> exec master..xp_cmdshell 'ipconfig'
А как быть с правами юзеров? По умолчанию выполнять эту ХР можно только админам.
Не пойму только, почему имя сервера из текста UDL не подходит...
Stanislav (2005-02-01 16:45:00) [10]Спасибо !
sniknik (2005-02-01 15:54:00) [11]IP можно узнать и без ADO, по имени сервера (зачем извращения?).
лучше уж подключатся адресно, к тому что необходимо(из удл-ки прочитай), а не потом пытатся узнать "а с каким сервером работаем?".
но если очень хочется... ;) попробуй
exec master..xp_cmdshell 'ipconfig'
ищи, там будет строчка с "IP-адрес ...." это и будет адрес сервера.