powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как прочитать значение реестра?
22 сообщений из 22, страница 1 из 1
как прочитать значение реестра?
    #37010520
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Adaptive Server Anywhere 9

Доброго всем времени суток, необходимо прочитать значение реестра (ветвь HKCU), либо получить значение среды %USERNAME%. Обыскался уже ничего найти не могу, может кто подскажет.

Заранее благодорю.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010686
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_SAdaptive Server Anywhere 9

Доброго всем времени суток, необходимо прочитать значение реестра (ветвь HKCU), либо получить значение среды %USERNAME%. Обыскался уже ничего найти не могу, может кто подскажет.

Заранее благодорю.
Посмотрите Creating procedures and functions with external calls
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010900
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Santa_S,

Если значение предполагается читать из под ASA9, то как-то непонятно зачем.
Сервер как правило стартует под системной учеткой или определенным заранее известным пользователем. HKCU пользователей винды тут не пляшут.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010941
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASA работает локально, имеется группа Windows пользователей, которые запускают программу для измерений и пишут данные в ASA, затем через триггер данные передаются в удаленную SQL базу. Задача, в числе прочих передаваемых данных, отправить имя текущего Windows пользователя.
В качестве решения рассматривается:
1) Прочитать ключ реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Logon User Name

либо
2) Получить значение среды %USERNAME%

Первое на SQL решается xp_regread, но, к сожалению, не нашел ничего подобного в ASA.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010958
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Santa_S,

Не знаю, есть ли в 9-ке ?
SELECT CONNECTION_PROPERTY ( 'OsUser' );
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010979
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.V.L.SELECT CONNECTION_PROPERTY ( 'OsUser' );

есть, но возвращает NULL :-(
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37010993
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или тут:
SELECT CONNECTION_PROPERTY ( 'AppInfo' );
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011019
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.V.L.SELECT CONNECTION_PROPERTY ( 'AppInfo' );

уже лучше, но возвращает имя компьютера и название OS
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011047
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли возможность подправить параметры соединения приложения с БД?
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011062
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.V.L.,

к сожалению, нет, жестко вшито в настройки программы, а разработчики на контакт идти отказываются.

Может, кто-нибудь, более подробно подскажет, как использовать java-call через процедуру или функцию, это решило бы проблему. Я не понимаю где размещать тело java-кода в begin-end или?
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011341
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_S,
Ты все-таки верно поставь задачу, насколько я понял тебе надо поиметь имя пользователя открывшего данную сессию или я ошибаюсь? Если не ошибаюсь, то
call sa_conn_properties() - первый столбец id сессии, после чего
call sa_conn_info() - вывод параметров всех сессий, выбираешь свою и там есть поле UserId
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011462
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Orlov,

Как я понял, их прога работает от какого-то одного (зашитого) пользователя БД, а надо как-то различать действия пользователей, то решение - отличать по имени пользователя ОС, ассоциированного с соединением к БД.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011736
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.V.L.,

совершенно верно, в программе, все измерения производятся под одним именем, нужно произвести идентификацию пользователей, используя Windows logon name
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011781
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_SV.V.L.,
совершенно верно, в программе, все измерения производятся под одним именем, нужно произвести идентификацию пользователей, используя Windows logon name
Другими словами, тебе надо по ip из сессии запустить скрипт-dll и она по этому ip должна прочитать
значение username из hklm\software\microsoft\windows nt\winlogon удаленной машины
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011892
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Orlov,

Не совсем, у меня задача достаточно простая, программа работает на одном, выделенном компьютере (Windows XP, без терминальных сессий, операторы делают смену пользователя напрямую с консоли), на нем же запущен ASA. Необходимо получить имя текущего пользователя Windows на этом компьютере средствами ASA.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011908
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тут подумал, если это сильно проблематично, я могу запускать скрипт, перед открытием программы, который будет вставлять строку с текущим именем пользователя в какую-нибудь таблицу.
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011942
V.V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У программы есть ли какие-то настройки для подключения к БД, которые настраиваются ?
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37011951
Santa_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.V.L.,

к сожалению нет
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37012037
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_SSergey Orlov,
Не совсем, у меня задача достаточно простая, программа работает на одном, выделенном компьютере (Windows XP, без терминальных сессий, операторы делают смену пользователя напрямую с консоли), на нем же запущен ASA. Необходимо получить имя текущего пользователя Windows на этом компьютере средствами ASA.
Блин, прочитай мой первый пост, затем идем в win32 API и ищем системную dll в которой есть функция/процедура, которая возвращает имя пользователя, залогиненного на консоли. Если сам программист, то создай свою dll с этой единственной функцией...
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37012415
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
функция getusername и находится она в библиотеке Advapi32.dll

Syntax

BOOL WINAPI GetUserName(
__out LPTSTR lpBuffer,
__inout LPDWORD lpnSize
);
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37012723
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
как прочитать значение реестра?
    #37013261
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я опять может чего не понял, но..

Вроде как GetUserName получает имя пользователя для текущего процесса.
Текущий процесс, если функцию вызвать в запросе, процедуре - ASA.

Автору
сервер ASA(не программа работающая с ASA) всегда запускается от имени пользователя, вошедшего в windows?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как прочитать значение реестра?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]