Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Trusted User по-русски возможно?  [new]
Kovalery
Member

Откуда:
Сообщений: 5
FB 2.1.3 на WinSrv2003. Пытаюсь использовать Trusted Authentication для подключения к FB пользователей домена. Пускает, но при попытке обратиться к CURRENT_USER возникает ошибка преобразования строки в том случае, если имя пользователя в домене русскими буквами.
Даже запрос select CURRENT_USER from rdb$database не проходит.
Переименовать всех на английский не вариант в моем случае.
Как ещё можно с этим справиться?
16 ноя 10, 15:08    [9788019]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

Kovalery
Как ещё можно с этим справиться?

Если не поможет правильный чарсет подключения - писать в трекер.

Posted via ActualForum NNTP Server 1.4

16 ноя 10, 15:16    [9788114]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Alex Truhin
Member

Откуда:
Сообщений: 536
А что значит в данной ситуации правильный чарсет?
Пользователь может поставить ЛЮБУЮ windows с любой локалью.
16 ноя 10, 20:43    [9790746]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27523
AlexTruhin
Пользователь может поставить ЛЮБУЮ windows с любой локалью.

может. Только непонятно, каким образом эта локаль связана с чарсетом коннекта к БД.
Например, какая локаль должна быть на винде, чтобы юзер волшебным образом имея логин из русских букв зашел в базу с чарсетом коннекта UTF8. Ну или, раз локаль на винде может быть любая, как юзеру с русским логином зайти в базу с немецкой винды, и что при этом будет.
16 ноя 10, 20:47    [9790757]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Alex Truhin
Member

Откуда:
Сообщений: 536
kdv,

четсно говоря нифига не понял, что ты хотел сказать.
Я, может криво, пытался высказать мысль, что имя пользователя, введенное или полученное через Trusted Authentication, никак не должно зависеть от чарсета подключения. И CURRENT_USER должен возвращать полученный набор символов без всякой перекодировки, т.е. none.
16 ноя 10, 20:59    [9790796]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
PEAKTOP
Member

Откуда: агломерация Славянск-Краматорск-Дружковка
Сообщений: 1375
Alex Truhin
четсно говоря нифига не понял, что ты хотел сказать.


Честно говоря, этим все сказано. Без обид, ничего личного.

Alex Truhin
Я, может криво, пытался высказать мысль, что имя пользователя, введенное или полученное через Trusted Authentication, никак не должно зависеть от чарсета подключения. И CURRENT_USER должен возвращать полученный набор символов без всякой перекодировки, т.е. none.


Здесь, наверное, считается цитировать дядю Джоела - моветоном, но все же: про unicode, блин...

Может, хоть так дойдет...
16 ноя 10, 21:27    [9790913]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

Alex Truhin

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

Да щаззз...

Posted via ActualForum NNTP Server 1.4

16 ноя 10, 21:27    [9790915]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27523
ну, косноязычность к вечеру усиливается...
я имел в виду, что не совсем тебя понял, поэтому после твоего ответа - абсолютно с тобой согласен.
16 ноя 10, 21:28    [9790923]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
olegenty
Member

Откуда: Набережные Челны
Сообщений: 730
Kovalery
Как ещё можно с этим справиться?


kdv
Только непонятно, каким образом эта локаль связана с чарсетом коннекта к БД.
Например, какая локаль должна быть на винде, чтобы юзер волшебным образом имея логин из русских букв зашел в базу с чарсетом коннекта UTF8. Ну или, раз локаль на винде может быть любая, как юзеру с русским логином зайти в базу с немецкой винды, и что при этом будет.


Не совсем понял, кто задает вопрос, а кто на него отвечает...
16 ноя 10, 21:30    [9790929]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27523
DS
Да щаззз...

хорошая тема. По идее, имя юзера на конкретной винде вводится в ее же локали, иначе его (имя) невозможно создать. Только вопрос - имя юзера создается в юникоде, или все же в кодировке локали? Подозреваю что или в локали, или зависит от версии винды.
Тогда CURRENT_USER должен содержать буквы в 1251.

p.s. теоретизирую. насколько я помню, до utf8 имена объектов разрешаются только латинскими буквами и цифрами. Соответственно, имя юзера НЕ должно содержать национальных символов. Опять же, лениво лезть и смотреть, какую кодировку имеет RDB$USER_NAME.
16 ноя 10, 22:01    [9791123]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

kdv
Подозреваю что или в локали, или зависит от версии винды.
Тогда CURRENT_USER должен содержать буквы в 1251.

По идее надо бы получать имя пользователя от винды с помощью юникодных функций, тогда оно
будет юникодным. И при селекте CURRENT_USER, возвращаться как и любая другая строка в
чарсете коннекта. Но как на самом деле это сделал Алекс (или это был Влад?..) - я не знаю.
Возможно, он получает это имя в ANSI и тогда "Хьюстон, у нас проблемы".

Posted via ActualForum NNTP Server 1.4

16 ноя 10, 22:07    [9791167]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 59206

Что-то я не понял, где бага вообще. С каким чарсетом коннекта не работает-то?

Posted via ActualForum NNTP Server 1.4

16 ноя 10, 22:12    [9791197]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27523
ГР
С каким чарсетом коннекта не работает-то?

от ТС пока ответа нет.
17 ноя 10, 00:32    [9791741]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
olegenty
Member

Откуда: Набережные Челны
Сообщений: 730
если верить вот этой ссылке (http://firebirdsql.su/doku.php?id=sistemnye_tablicy), по тем системным таблицам, которые описаны, текстовая информация chracter set unicode_fss
17 ноя 10, 08:26    [9792131]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Kovalery
Member

Откуда:
Сообщений: 5
Гаджимурадов Рустам
С каким чарсетом коннекта не работает-то?

Да CHARSET здесь вообще рояли не играет. У меня база в UTF8 и подключаюсь с ним же. Для теста сделал тестовую базу в Win1251 и с этим чарсетом подключился. Те же грабли.

Ошибка возникает в любой базе с любым чарсетом подключения. Можете сами проверить:
1.В firebird.conf добавляем Authentication = mixed или trusted и перезапускаем FB
2. Запускаем IB Expert или что у вас есть, с правами обычного пользователя (тех, у кого права админа FB пускает только как SYSDBA)
3.Подключемся к любой базе с пустыми пользователем и паролем (в IB Expert можно поставить галку Trusted authentication)
4.В SQL-редакторе выполняем запрос select CURRENT_USER from rdb$database
5.Любуемся ошибкой преобразования строки, если имя пользователя винды было на русском. Если нет, то получаем текущего пользователя как и положено в формате CompOrDomain\User
Та же ошибка возникает если CURRENT_USER используется:
1.В определении поля CUSER VARCHAR(100) DEFAULT CURRENT_USER при создании новой записи
2.При обращении к переменной CURRENT_USER в триггере или процедуре.
olegenty
если верить вот этой ссылке (http://firebirdsql.su/doku.php?id=sistemnye_tablicy), по тем системным таблицам, которые описаны, текстовая информация chracter set unicode_fss

Пробовал такой вариант:
CUSER VARCHAR(100) CHARACTER SET UNICODE_FSS DEFAULT CURRENT_USER
ошибка остается.
Можно ли где прописать кодировку в которой FB будет возвращать CURRENT_USER или там голый ANSI и Россия с Trusted Authentication в пролёте?
Писать на трекер? Куда именно?
Насколько я понял в ветке FB 2.1 больше не будет новых версий, а у FB 2.5 новых багов хватает. Она меня совсем не устраивает.
17 ноя 10, 10:45    [9792845]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 6772
Kovalery
в ветке FB 2.1 больше не будет новых версий

откуда дровишки?

Kovalery
у FB 2.5 новых багов хватает. Она меня совсем не устраивает.

и сколько писем ты написал трекеру на этот счет?
17 ноя 10, 11:18    [9793164]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 59206
Kovalery
Да CHARSET здесь вообще рояли не играет. У меня база в UTF8 и подключаюсь с ним же.
Для теста сделал тестовую базу в Win1251 и с этим чарсетом подключился. Те же грабли.
В трекер с воспроизводимым примером. Это major/critical баг и должен быть исправлен в ближайших релизах.

Kovalery
Ошибка возникает в любой базе с любым чарсетом подключения.
Может сломалось что-то. Ибо я точно помню, что у меня все работало (с кириллицей) и в 2.1, и в 2.5.

Kovalery
Можно ли где прописать кодировку в которой FB будет возвращать CURRENT_USER
Нет.
Kovalery
Писать на трекер? Куда именно?
http://tracker.firebirdsql.org

Kovalery
у FB 2.5 новых багов хватает. Она меня совсем не устраивает.
Ну, это просто глупо. Достаточно посмотреть на количество исправленных багов (в т.ч. старых) и новой функциональности.
Насчет новых багов - да, хватает, но старую функциональность они почти не затрагивают. Главное - не нервничайте. :)
17 ноя 10, 11:29    [9793260]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Kovalery
Member

Откуда:
Сообщений: 5
dimitr,
По поводу новых версий ветки 2.1 тупанул извиняюсь.
Здесь http://www.firebirdsql.org/index.php?op=files&id=engine под версией 2.1.3 надпись Unsupported releases: Двоеточие не разглядел, поэтому это относится только к 1.5,1.0.

В отношении 2.5: баги на трекер не писал, потому что до сих пор меня устраивало всё в 2.1. А когда пробовал перебраться на 2.5, то строки в UTF8 с русскими символами обрезались ровно в 4 раза. К примеру в строку длиной 100 символов можно поместить не более 25 неансишных символов. Было ещё что-то. Сейчас уже не вспомню. Но мне и этого хватило, чтоб от неё отказаться. Будет время и об этом напишу. Но сейчас у меня совсем другая проблема. Вот о ней как раз и буду писать на трекер.

Всем спасибо за помощь и понимание!
17 ноя 10, 11:48    [9793442]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

Kovalery
К примеру в строку длиной 100 символов можно поместить не более 25 неансишных символов.

Это проблема твоего клиентского приложения.

Posted via ActualForum NNTP Server 1.4

17 ноя 10, 12:50    [9794104]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Kovalery
Member

Откуда:
Сообщений: 5
Dimitry Sibiryakov
Это проблема твоего клиентского приложения.

К сожалению не только моего. В IB Expert - аналогично.
17 ноя 10, 18:05    [9797323]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

Kovalery
В IB Expert - аналогично.

Воспроизведёшь в isql - сможешь писать в трекер. Иначе - вы в одной лодке с Хвастуновым. У
моих приложений ничего не обрезается.

Posted via ActualForum NNTP Server 1.4

17 ноя 10, 18:20    [9797408]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 59206
Собсно, добрался, проверил. Да, бага есть - легко воспроизводится и в ИБЕ, и в isql.
C любыми кодировками. Тем не менее, именно current_user c NONE работает. :)
18 ноя 10, 03:37    [9798781]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27523
ГР
Собсно, добрался, проверил. Да, бага есть - легко воспроизводится и в ИБЕ, и в isql.

про что бага - про 100 символов, обрезающиеся до 25?
18 ноя 10, 07:09    [9798851]     Ответить | Цитировать Сообщить модератору
 Re: Trusted User по-русски возможно?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 59206
Нет, про ТА + кириллица. В трекере есть.
18 ноя 10, 12:13    [9800327]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить