|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Adaptive Server Anywhere 9 Доброго всем времени суток, необходимо прочитать значение реестра (ветвь HKCU), либо получить значение среды %USERNAME%. Обыскался уже ничего найти не могу, может кто подскажет. Заранее благодорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 08:05 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_SAdaptive Server Anywhere 9 Доброго всем времени суток, необходимо прочитать значение реестра (ветвь HKCU), либо получить значение среды %USERNAME%. Обыскался уже ничего найти не могу, может кто подскажет. Заранее благодорю. Посмотрите Creating procedures and functions with external calls ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 10:03 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_S, Если значение предполагается читать из под ASA9, то как-то непонятно зачем. Сервер как правило стартует под системной учеткой или определенным заранее известным пользователем. HKCU пользователей винды тут не пляшут. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 11:25 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
ASA работает локально, имеется группа Windows пользователей, которые запускают программу для измерений и пишут данные в ASA, затем через триггер данные передаются в удаленную SQL базу. Задача, в числе прочих передаваемых данных, отправить имя текущего Windows пользователя. В качестве решения рассматривается: 1) Прочитать ключ реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Logon User Name либо 2) Получить значение среды %USERNAME% Первое на SQL решается xp_regread, но, к сожалению, не нашел ничего подобного в ASA. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 11:38 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_S, Не знаю, есть ли в 9-ке ? SELECT CONNECTION_PROPERTY ( 'OsUser' ); ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 11:43 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
V.V.L.SELECT CONNECTION_PROPERTY ( 'OsUser' ); есть, но возвращает NULL :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 11:51 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Или тут: SELECT CONNECTION_PROPERTY ( 'AppInfo' ); ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 11:55 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
V.V.L.SELECT CONNECTION_PROPERTY ( 'AppInfo' ); уже лучше, но возвращает имя компьютера и название OS ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 12:06 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Есть ли возможность подправить параметры соединения приложения с БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 12:15 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
V.V.L., к сожалению, нет, жестко вшито в настройки программы, а разработчики на контакт идти отказываются. Может, кто-нибудь, более подробно подскажет, как использовать java-call через процедуру или функцию, это решило бы проблему. Я не понимаю где размещать тело java-кода в begin-end или? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 12:22 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_S, Ты все-таки верно поставь задачу, насколько я понял тебе надо поиметь имя пользователя открывшего данную сессию или я ошибаюсь? Если не ошибаюсь, то call sa_conn_properties() - первый столбец id сессии, после чего call sa_conn_info() - вывод параметров всех сессий, выбираешь свою и там есть поле UserId ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 13:56 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Sergey Orlov, Как я понял, их прога работает от какого-то одного (зашитого) пользователя БД, а надо как-то различать действия пользователей, то решение - отличать по имени пользователя ОС, ассоциированного с соединением к БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 14:36 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
V.V.L., совершенно верно, в программе, все измерения производятся под одним именем, нужно произвести идентификацию пользователей, используя Windows logon name ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 15:54 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_SV.V.L., совершенно верно, в программе, все измерения производятся под одним именем, нужно произвести идентификацию пользователей, используя Windows logon name Другими словами, тебе надо по ip из сессии запустить скрипт-dll и она по этому ip должна прочитать значение username из hklm\software\microsoft\windows nt\winlogon удаленной машины ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 16:11 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Sergey Orlov, Не совсем, у меня задача достаточно простая, программа работает на одном, выделенном компьютере (Windows XP, без терминальных сессий, операторы делают смену пользователя напрямую с консоли), на нем же запущен ASA. Необходимо получить имя текущего пользователя Windows на этом компьютере средствами ASA. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 16:55 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Я тут подумал, если это сильно проблематично, я могу запускать скрипт, перед открытием программы, который будет вставлять строку с текущим именем пользователя в какую-нибудь таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 17:00 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
У программы есть ли какие-то настройки для подключения к БД, которые настраиваются ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 17:15 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
V.V.L., к сожалению нет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 17:20 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Santa_SSergey Orlov, Не совсем, у меня задача достаточно простая, программа работает на одном, выделенном компьютере (Windows XP, без терминальных сессий, операторы делают смену пользователя напрямую с консоли), на нем же запущен ASA. Необходимо получить имя текущего пользователя Windows на этом компьютере средствами ASA. Блин, прочитай мой первый пост, затем идем в win32 API и ищем системную dll в которой есть функция/процедура, которая возвращает имя пользователя, залогиненного на консоли. Если сам программист, то создай свою dll с этой единственной функцией... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 18:09 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
функция getusername и находится она в библиотеке Advapi32.dll Syntax BOOL WINAPI GetUserName( __out LPTSTR lpBuffer, __inout LPDWORD lpnSize ); ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2010, 23:30 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
ALTER PROCEDURE "DBA"."GetuserNameW32"(inout UserName char(32),inout UserLenght integer) external name 'WindowsNT:GetUserNameA@Advapi32' Применение ALTER PROCEDURE "DBA"."FuncTemp1"() begin declare UName char(255); declare ULength integer; set Uname=space(254); set Ulength=254; call GetUserNameW32(Uname,ULength); set Uname=trim(Uname); set ULength=length(Uname); select Uname,Ulength end ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 10:04 |
|
как прочитать значение реестра?
|
|||
---|---|---|---|
#18+
Я опять может чего не понял, но.. Вроде как GetUserName получает имя пользователя для текущего процесса. Текущий процесс, если функцию вызвать в запросе, процедуре - ASA. Автору сервер ASA(не программа работающая с ASA) всегда запускается от имени пользователя, вошедшего в windows? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2010, 13:07 |
|
|
start [/forum/topic.php?fid=55&msg=37011942&tid=2010444]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 481ms |
0 / 0 |