Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем! DB2 8.2 Есть предвставочный триггер (before insert), в котором одно из полей таблицы я инициализирую значением логина пользователя текущей сессии: Код: plaintext Но значение логина всегда сохраняется в верхнем регистре. Это я что-то делаю не так или SESSION_USER всегда хранит логин в верхнем регистре? Как получить реальный логин? С уважением, Семен Попов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 12:16 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Всегда хранит в верхнем регистре. Зачем вам "реальный логин"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 13:36 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinЗачем вам "реальный логин"? У меня есть приложение, которое хранит в таблице различные сведения по пользователю (таблица пользователей приложения). Логин пользователя уникален в этой таблице. В некоторых рабочих таблицах мне нужно сохранять текущего пользователя. Для чего использую поле логина, которое инициализирую в триггере before значением SESSION_USER. Потом в необходимых ситуациях лезу в таблицу пользователей, чтобы доставать сведения о пользователе. Да вот беда. Функционал ввода в таблицу пользователей приложения реализован так, что сохраняю логин без преобразования регистра. Т.е. так, как пользователь его вводит при авторизации, например JPAdm, JPUser, DB2Test, а в рабочих таблицах они сохраняются как JPADM, JPUSER, DB2TEST. Ну а отсюда и все проблемы. Этот момент я не предусмотрел. Решить проблему не сложно - в таблице пользователей логин преобразовывать в верхний регистр при добавлении и изменении и т.п. Хотя, есть вопрос. А как поведет себя система под Linux? Насколько я знаю, там логин зависим от регистра. Если можно, я задам вопрос не по текущей теме: Какое значение типа DATE является минимальным(максимальным) в DB2? Хочу в ХП проинициализировать переменную типа DATE самой минимальной(максимальной) датой. Это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 14:44 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Можно ничего не преобразовывать, а сделать преобразование в самом запросе, как-то так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 14:55 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Semen Popov... Решить проблему не сложно - в таблице пользователей логин преобразовывать в верхний регистр при добавлении и изменении и т.п. Хотя, есть вопрос. А как поведет себя система под Linux? Насколько я знаю, там логин зависим от регистра. General naming rules Имя пользователя вы можете вводить на любом регистре на любой платформе. В unix-системе имя пользователя должно быть заведено в нижнем регистре. Semen PopovЕсли можно, я задам вопрос не по текущей теме: Какое значение типа DATE является минимальным(максимальным) в DB2? Хочу в ХП проинициализировать переменную типа DATE самой минимальной(максимальной) датой. Это можно сделать?date('0001-01-01') date('9999-12-31') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 15:15 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
const64Можно ничего не преобразовывать, а сделать преобразование в самом запросе, как-то так: Код: plaintext 1. 2. 3. Спасибо. Это первое, что мне пришло на ум. Но хотелось бы не вносить разброд в БД, когда в одной таблице логин в нижнем регистре, а в другой в верхнем или вообще с заглавной. Хочется использовать одно правило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 15:43 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein General naming rules Имя пользователя вы можете вводить на любом регистре на любой платформе. В unix-системе имя пользователя должно быть заведено в нижнем регистре. Так вот, возвращаюсь к правилу. Делаю вывод, что логины лучше хранить в нижнем регистре. Тогда и для Win и для Linux будет подходить. Я правильно думаю? Mark BarinsteinSemen PopovЕсли можно, я задам вопрос не по текущей теме: Какое значение типа DATE является минимальным(максимальным) в DB2? Хочу в ХП проинициализировать переменную типа DATE самой минимальной(максимальной) датой. Это можно сделать?date('0001-01-01') date('9999-12-31')Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 15:44 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Semen PopovMark Barinstein General naming rules Имя пользователя вы можете вводить на любом регистре на любой платформе. В unix-системе имя пользователя должно быть заведено в нижнем регистре. Так вот, возвращаюсь к правилу. Делаю вывод, что логины лучше хранить в нижнем регистре. Тогда и для Win и для Linux будет подходить. Я правильно думаю?Я бы хранил в верхнем регистре: Если я правильно понял, у вас что пользователь ввёл при connect, то и сохранилось. Пользователь может ввести имя на любом регистре. DB2 присваивает регистровым переменным имя пользователя в верхнем регистре после успешного соединения, поэтому то же самое лучше делать и вам. В этом случае вам не надо будет преобразовывать свои поля для сравнения с регистровыми переменными DB2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 15:57 |
|
||
|
Регистр SESSION_USER в ХП или триггерах
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinЯ бы хранил в верхнем регистре: Если я правильно понял, у вас что пользователь ввёл при connect, то и сохранилось. Пользователь может ввести имя на любом регистре. DB2 присваивает регистровым переменным имя пользователя в верхнем регистре после успешного соединения, поэтому то же самое лучше делать и вам. В этом случае вам не надо будет преобразовывать свои поля для сравнения с регистровыми переменными DB2.Во! Верно. Я не с того места танцую. Поднял тему насчет операционок, а надо исходить из внутренней кухни DB2. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2011, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=37095697&tid=1602394]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 305ms |
| total: | 582ms |

| 0 / 0 |
