Форум: "Базы";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизУзнать логин соединения чужого приложения на этой же машине Найти похожие ветки
← →
Vlad Oshin © (2007-01-22 11:47) [0]Т.е., пользователь запустил чужое приложение, залогинился в нем, а оно(чужое приложение) вызывает мой .ехе, мне надо чтоб он(мой *.ехе) знал как залогинились
Все было хорошо, пока отчеты ничего не меняли в БД (коннектился под sysadmin), теперь, кроме отчета, надо чтоб писалось кто этот отчет затребовал.
← →
evvcom © (2007-01-22 12:12) [1]> [0] Vlad Oshin © (22.01.07 11:47)
> а оно(чужое приложение) вызывает мой .ехе
надо, чтобы это чужое приложение умело информировать об этом твое, а твое эту информацию умело понимать. В противном случае все достаточно сложно.
← →
Vlad Oshin © (2007-01-22 13:18) [2]
> evvcom ©
дык было б так - не было б проблем и вопроса...
Свои родные отчеты оно понятно как-то информирует, а как - не понятно.
Я просто слышал, что на сервере сохраяется инф-ция о соединениях, в том числе о машине, и вот если запросить ее и сравнить с текущей машиной, может и получится.
Вопрос тогда такой: Это правда? Как спросить эту инф-цию?
← →
clickmaker © (2007-01-22 13:45) [3]
> Я просто слышал, что на сервере сохраяется инф-ция о соединениях,
> в том числе о машине
в папке LOG лежат файлы ERRORLOG - ERRORLOG.N, там могут быть записи типа
logon Login succeeded for user "sa". Connection: Non-Trusted.
если включен аудит
но данных о машине нет.
Данные о машине можно получить только из master..sysprocesses, но пока жив коннект
← →
Vlad Oshin © (2007-01-22 13:50) [4]
> clickmaker © (22.01.07 13:45) [3]
> Данные о машине можно получить только из master..sysprocesses,
> но пока жив коннект
при первом приближении...а что.. можно и так!
спасибо,
← →
Павел Калугин © (2007-01-22 14:15) [5]> [0] Vlad Oshin © (22.01.07 11:47)
для текущего логина suser_sname()
но у тебя ситуация веселее, как я понял
в базе тлпа юзеров
кто-то жмет капу и запускается ТВОЕ приложение и лезет в базенку под СОБСТВЕННЫМ логином так?
тогда это, простите, порнография.
Если же оба приложения используют подключение с Windows Autentification то есть логин в базу идет с данными пользователя домена, то тогда suser_sname() спасет.
иначе - надо из основного приложения в твое передавать логин и пароли и с этими данными твое приложение должно лезть в базу.
← →
Ega23 © (2007-01-22 14:17) [6]Enterprise Manager -> Server -> Management -> Current Activity -> ProcessInfo
Это то, что master..sysprocesses, посмореть "вживую"
← →
Vlad Oshin © (2007-01-22 14:24) [7]
> кто-то жмет капу и запускается ТВОЕ приложение и лезет в
> базенку под СОБСТВЕННЫМ логином так?
> тогда это, простите, порнография.
именно так :)
а теперь сделаю так:
под правами админа к master
SELECT loginame from sysprocesses where hostname="этотРС" and program_name="та_самая_программа" order by login_time desc
и под правами loginame к нужной базе.
> Если же оба приложения используют подключение с Windows
> Autentification то есть логин в базу идет с данными пользователя
> домена, то тогда suser_sname() спасет.
нет, это не так. Авторизация сервером
Юзеры только утром включают свои компы, потом прыгают от машины к машине.
> иначе - надо из основного приложения в твое передавать логин
> и пароли и с этими данными твое приложение должно лезть
> в базу.
боюсь не станут мне говорить как там переается у них...
← →
evvcom © (2007-01-22 14:31) [8]> [7] Vlad Oshin © (22.01.07 14:24)
> боюсь не станут мне говорить как там переается у них...
а у них тоже внешние exe запускаются для этого?
← →
Ega23 © (2007-01-22 14:37) [9]
> and program_name="та_самая_программа"
Вот эта штука не всегда отработает. Нужно явным образом имя программы указывать в коннекте.
Я сейчас как раз над данным вопросом работаю...
← →
Vlad Oshin © (2007-01-22 14:37) [10]
> Ega23 © (22.01.07 14:17) [6]
накатал свой просмотрщик баз, очень удобно.
можно пару баз выбрать(с системными таблицами) (надо бы три-четыре поставить было - приходится часто вторую копию запускать :))
Выбираешь базу, там список таблиц, выбираешь таблу, смотришь. можно отредактировать, если уверен :)
парочка мемо для написания запросов, соответственно к той же базе или к другим, в том числе не MS sql
и главное - все максимум за пару часов
← →
Vlad Oshin © (2007-01-22 14:40) [11]
> evvcom © (22.01.07 14:31) [8]
> > [7] Vlad Oshin © (22.01.07 14:24)
> > боюсь не станут мне говорить как там переается у них..
> .
>
> а у них тоже внешние exe запускаются для этого?
да. У них штук 30 ехе лежит в каталоге для этого дела. Иногда присылают новые. Что не устраивает наших - я пишу. Я тебе пытался это в пятницу объяснить :)
> Ega23 © (22.01.07 14:37) [9]
у них прописано, видимо. Всегда показывает потому что
← →
Ega23 © (2007-01-22 14:43) [12]
> у них прописано, видимо. Всегда показывает потому что
>
У меня складывается впечатление, что это у API-шного ADOConnection, в делфи-обёртке я этого почему-то не вижу...
Сейчас смотрю, может в свойствах что не так?
← →
Ega23 © (2007-01-22 14:56) [13]
> У меня складывается впечатление, что это у API-шного ADOConnection,
> в делфи-обёртке я этого почему-то не вижу...
> Сейчас смотрю, может в свойствах что не так?
>
Короче, надо TADOConnection.ConnectionObject свойства ковырять
← →
evvcom © (2007-01-22 14:57) [14]> [11] Vlad Oshin © (22.01.07 14:40)
> У них штук 30 ехе лежит в каталоге для этого дела.
Вместо одного из них подсовываешь свой, а в нем делаешь запись в лог. Сначала параметров, переданных в командной строке. Если нет ничего, то дальше думаешь, например, сообщение WM_COPYDATA ловишь, опять нет - все сообщения>WM_USER и т.д. В общем случае может получиться
> [1] evvcom © (22.01.07 12:12)
> все достаточно сложно.
← →
Павел Калугин © (2007-01-22 15:24) [15]> [7] Vlad Oshin © (22.01.07 14:24)
> боюсь не станут мне говорить как там переается у них...
а они и не должны говорить.
Твое приложение дергают? от и будьте любезны параметрами передать. Иначе - не будет вам счастья
← →
Vlad Oshin © (2007-01-23 17:09) [16]
> Вместо одного из них подсовываешь свой, а в нем делаешь
> запись в лог. Сначала параметров, переданных в командной
> строке. Если нет ничего, то дальше думаешь, например, сообщение
> WM_COPYDATA ловишь, опять нет - все сообщения>WM_USER и
> т.д. В общем случае может получиться
уфф ...
Сделал. Нифига.
А чем черт ни шутит - запустил файлмон, регмон...
и в итоге, оказалось, что эти пип-пип-пип данными обменивались через текстовый файл в директории основной программы!
как то так и файл то называется ~data.ask :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.072 c