Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
Erhe
- Сообщения: 30
- Зарегистрирован: 26 сен 2006, 09:48
Сообщение
Erhe » 03 июл 2014, 08:30
Здравствуйте.
Использую для подключения jaybird-full-2.1.6.jar.
Хочу настроить подключение к базе с ролью. Если прописываю ресурс в context.xml Tomcat'а следующим образом:
Код: Выделить всё
<Resource driverClassName="org.firebirdsql.jdbc.FBDriver" maxActive="7"
maxIdle="2" maxWait="50000" name="jdbc/dbase" password="myPassword"
type="javax.sql.DataSource"
url='jdbc:firebirdsql://myserver/d:/dbase/dbase.fdb?lc_ctype=WIN1251'
username="MYUSER"</Resource>
Всё прекрасно работает. Но хочется подключаться с ролью. Пробовал комбинировать url
Код: Выделить всё
url='jdbc:firebirdsql://myserver/d:/dbase/dbase.fdb?sql_role_name="MY_ROLE"&lc_ctype=WIN1251'
или
Код: Выделить всё
url='jdbc:firebirdsql://myserver/d:/dbase/dbase.fdb?lc_ctype=WIN1251'
roleName="MY_ROLE">
Подключение происходит, но доступа к таблицам нет -- пишет, что у меня нет прав. Такое ощущение, что драйвер игнорирует параметр роли. Подскажите, пжлста, как правильно настроить?
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 03 июл 2014, 14:14
а пользователь MYUSER включен в роль? к примеру, то же самое, но через IBExpert проверяли?
-
Erhe
- Сообщения: 30
- Зарегистрирован: 26 сен 2006, 09:48
Сообщение
Erhe » 03 июл 2014, 14:40
kdv писал(а):а пользователь MYUSER включен в роль? к примеру, то же самое, но через IBExpert проверяли?
Да, подключился к базе через IBExpert с этими параметрами логин/пароль/роль. Открылось, и запрос к таблице прекрасно прошел. Через драйвер не хочет
Я, конечно, могу скачать последнюю версию jdbc драйвера, мне не принципиально, но не уверен, что там этот баг пофиксен (ну или устранена сия фича
)
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 03 июл 2014, 15:22
с JayBird работает мало людей (относительно остальных методов доступа), так что, кроме совета обновить драйвер или прочитать по нему документацию внимательнее вы вряд ли что получите
кстати, а разве не так должно быть?
?lc_ctype=WIN1251'&username="MYUSER"
name-value pairs separated with “&”
т.е. я не вижу требования разделять параметры точкой с запятой.
-
Erhe
- Сообщения: 30
- Зарегистрирован: 26 сен 2006, 09:48
Сообщение
Erhe » 03 июл 2014, 15:32
kdv писал(а):с JayBird работает мало людей (относительно остальных методов доступа), так что, кроме совета обновить драйвер или прочитать по нему документацию внимательнее вы вряд ли что получите
Документацию я читал, но в ней даже про кодировку в виде "?lc_ctype..." нет. Я это на просторах интернета находил. Драйвер обновлю.
А как же народ к Firebird из Java цепляется? Или только на Delphi и C#, а Java для других серверов баз данных?
kdv писал(а):кстати, а разве не так должно быть?
?lc_ctype=WIN1251'&username="MYUSER"
name-value pairs separated with “&”
т.е. я не вижу требования разделять параметры точкой с запятой.
Там собственно не просто "&", а XML-ный амперсанд "&". Иначе у меня Томкат даже не стартует, говорит, что файл конфигурации поврежден.
Попробую обновить драйвер, да поиграться с местоположением параметров в url, но надежды мало. Видимо придется давать права именно пользователю, без всякой группы.
-
Erhe
- Сообщения: 30
- Зарегистрирован: 26 сен 2006, 09:48
Сообщение
Erhe » 03 июл 2014, 15:52
Erhe писал(а):Попробую обновить драйвер, да поиграться с местоположением параметров в url, но надежды мало. Видимо придется давать права именно пользователю, без всякой группы.
Обновил драйвер (сейчас, ради истины попробую на старом) и поменял порядок аргументов в url. Заработало с таким хвостом:
url='...?lc_ctype=WIN1251&sql_role_name="MY_ROLE"'.
ЗЫЖ На старом тоже заработало. Оказывается, важен порядок аргументов. А если выносить в атрибуты, как username или password, то подключается, но доступа не дает.