• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

@servername

  • Автор темы DNT
  • Дата начала
D

DNT

цитата из справки:

Syntax
@ServerName
Return value
serverName
Text. The name of the server containing the current database or the user name if triggered from a local database.



вопрос: почему при событии БД QueryClose эта функция возвращает имя пользователя, хотя БД находится на сервере?

p.s. если @ServerName использовать в качестве компутед текста на форме - возвращает правильное значение.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Хелп читать надо до конца

Return value
serverName
Text. The name of the server containing the current database or the user name if triggered from a local database.


Проверял! работает как заявлено

Может ты открываешь локальную реплику?
 
D

DNT

Хелп читать надо до конца

Return value
serverName
Text. The name of the server containing the current database or the user name if triggered from a local database.


Проверял! работает как заявлено


не спеши с выводами. хелп я спецом болдом выделил чтоб внимание обратить.
как проверял? подробнее... по кнопке у меня тоже работает. проверь на КвериКлозе
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
я не спешу. я действительно проверил. создал базу на локали и на сервере.
На локали действительно выдает имя пользователя.
На сервере - имя сервера

проверял и по кнопке и по событию.

В событии писал @Prompt([ok]; @Text( @ServerName ); "" )

хотя можно и просто вот так @Prompt([OK]; "Server name"; @ServerName)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
проверь, ты точно открываешь базу с сервака?
ну и еще... не знаю.. может такая проблема только у меня... но иногда помогает удаление Cache.NDK
 
D

DNT

Вопрос остался отрытым...

Хотя я выкрутился, используя @SetEnvironment(sn;@ServerName) при открытии БД :blink: , всё же интересно почему у NickProstoNick работает, а у меня нет B) ?

p.s. пробовал уже с разных машин
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Ну так используй в CFD-поле.

Кстати, у меня тоже работает нормально.
 
M

morpheus

вопрос: почему при событии БД QueryClose эта функция возвращает имя пользователя, хотя БД находится на сервере?
Проверил , у меня именно на КвериКлозе , промпт выдаёт текущего юзера. Почему - пока не могу обьяснить
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Совет!
Создай голую форму и пропиши в КвериКлоз толко одну строку @Prompt([OK]; "Server name"; @ServerName)
Если вернет то что надо - ковыряй логику в рабочей форме. Функция работает правильно... у меня по крайней мере
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
А я про форму писал. :p
Но у меня в событии базы тоже правильно работает. Клиент версии 7.0

Предлагаю попробовать @DbName.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Прошу прощения.
Действительно возвращается имя пользователя. Но можно воспользоваться скриптовой функцией, если код позволяет конечно
и даже изгаляться не придется.. входной параметр функции как раз то что нужно Source.Database.Server
 
D

DNT

радует что я не один, есть Morpheus с аналогичным эффектом .... :p

выкрутиться из этой ситуации можно, не в этом дело. интересно почему так отрабатывает.
клиент у меня 7.0.2
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Теперь добился, что через раз появляется то сервер, то моё имя. Забавно. :p
 
K

Kee_Keekkenen

м-да.. обычно такая хрень поисходит в hide для полей..
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!