Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить пользователя из SQLConnection?? [D7, SAP DB]


LinOS ©   (2003-07-09 08:24:00) 

Имеется компонент TSQLConnection. Через него присоединяюсь к БД. После соединения хочу узнать имя пользователя, под которым приконектился.


Garyck   (2003-07-10 08:47:00) [1]

Если разговор ведется об имени компа, с которого идет соединение, то так:

procedure TfrmWork.FormCreate(Sender: TObject);
Var
dwSize : Cardinal;
szBuffer : PChar;
begin
dwSize:=MAX_COMPUTERNAME_LENGTH+1;
GetMem(szBuffer,dwSize);
GetComputerName(szBuffer,dwSize);
CompName:=String(szBuffer);
FreeMem(szBuffer,dwSize);
End;


bolega   (2003-07-09 20:05:00) [2]

кусок из работающей SP:
возвращает
в @Domain - имя домена пользователя
в @User - NETBIOS-имя компьютера пользователя

declare @su varchar(64),@n int, Domain varchar(32), @User varchar(32)
set @su=system_user
set @n=charindex("\",@su)
set @Domain=substring(@su,1,@n-1)
set @User=substring(@su,@n+1,32)


LinOS   (2003-07-09 12:19:00) [3]

Спасибо за высказывания.
По поводу dbxconnections.ini, если в нем не задан пользователь по умолчанию, то и не узнаешь его.
Только, как Stas заметил буду пробовать из базы вытаскивать.


Stas   (2003-07-09 11:35:00) [4]

Незнаю как в SAP DB, а в MS SQL есть функция которая возвращает имя пользователя. Скорее всего и у тебя должно быть.


sniknik   (2003-07-09 11:23:00) [5]

хочеш сложностей пиши хук на клавиатуру следи за вводом и "вытаскивай" (можно еще пару извращений придумать, скажи я постараюсь).
или всетаки найди User_Name (параметр неизменен для всех драйверов/коннектов DriverName/ConnectionName, если конечно каким дополнительным не пользуешся но это врядли)
сделай двойной клик на компоненте, после пробегись по коннектам и посмотри параметры каждого...

> А нет у меня такого параметра.
значит и коннекта нет (когда смотриш?)
Description
Set ConnectionName to use a named connection configuration. Setting ConnectionName automaticallysets the DriverName and Paramsproperties to reflect the driver and connection parameters stored under that name in the dbxconnections.ini file.


LinOS   (2003-07-09 10:04:00) [6]

А если без параметров?
Как можно вытащить?


ЮЮ   (2003-07-09 08:52:00) [7]

Это из хелпа :-(
Значит посмотри какие параметры есть :-)
В ADO + MS SQL это был "User ID"


LinOS   (2003-07-09 08:42:00) [8]

А нет у меня такого параметра.


ЮЮ   (2003-07-09 08:37:00) [9]

TSQLConnection.Params.Values["User_Name"]


Наверх

Титульная страница Поиск, карта сайта Написать письмо