Гость
Форумы / Informix [игнор отключен] [закрыт для гостей] / Выполнение java udr и ошибка -937 / 25 сообщений из 26, страница 1 из 2
08.10.2010, 10:52
    #36888692
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Зарегистрировал простую java UDR на сервере, от имени пользователя informix. Выдал права пользователю test на выполнение этой UDR. От имени informix процедура запускается без ошибок. Если запускать ее пользователем test, то получаю ошибку -937 User Defined Routine error. В чем может быть дело?
...
Рейтинг: 0 / 0
08.10.2010, 14:13
    #36889392
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
AndronЗарегистрировал простую java UDR на сервере, от имени пользователя informix. Выдал права пользователю test на выполнение этой UDR. От имени informix процедура запускается без ошибок. Если запускать ее пользователем test, то получаю ошибку -937 User Defined Routine error. В чем может быть дело?

может грант екзекьют ?
...
Рейтинг: 0 / 0
08.10.2010, 14:38
    #36889491
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Права на выполнение выдал конечно первым делом, и пользователю test и даже public, но ошибка осталась.
...
Рейтинг: 0 / 0
08.10.2010, 14:47
    #36889523
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
GRANT USAGE ON LANGUAGE JAVA TO TEST
...
Рейтинг: 0 / 0
08.10.2010, 14:59
    #36889572
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Это тоже делал, но не помогло.
...
Рейтинг: 0 / 0
08.10.2010, 15:11
    #36889611
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
AndronЭто тоже делал, но не помогло.dbaccess-м выполнял? Ошибка такая же? В onstat посмотри какие там ошибки показываются
...
Рейтинг: 0 / 0
11.10.2010, 11:04
    #36892085
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Денис, при выполнении через dbaccess выдает (46103) - Error loading Java UDR class (<mydb.test.env_jar:Env> : Class mydb.test.env_jar:Env not found

Ошибка была в регистрации функции: надо при регистрации external name для функции указывать базу и владельца:

т.е. например вместо

create function signature(int, char(20), varchar(20), boolean)
returns lvarchar
external name 'env_jar:Env.signature(int, java.lang.String, java.lang.String, boolean)'
language java;

делать так:

create function signature(int, char(20), varchar(20), boolean)
returns lvarchar
external name ' mydb.informix. env_jar:Env.signature(int, java.lang.String, java.lang.String, boolean)'
language java;

и после этого выдавать права на исполнение остальным пользователям через grant execute.

Что касается grant usage on language ... то этот оператор дает право на создание UDR на нужном языке а не на возможность выполнения.
...
Рейтинг: 0 / 0
11.10.2010, 11:34
    #36892162
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
попроси у Нунеса его поделку, он обещал выложить в открытый доступ
http://informix-technology.blogspot.com/search/label/explain_sql
...
Рейтинг: 0 / 0
11.10.2010, 23:09
    #36893656
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Не могли бы вы выложить кусок вашей процедуры (где было-бы обращение к таблице/курсору)?
...
Рейтинг: 0 / 0
12.10.2010, 08:39
    #36893854
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
а в чем проблема? Есть пример ./extend/krakatoa/examples/LO.java

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
       String connURL = "jdbc:informix-direct:";

         try 
        {
	    // Loading the JDBC driver 

             Class .forName("com.informix.jdbc.IfxDriver");

	    // Establising the connection

            myConn = DriverManager.getConnection(connURL);

...
Рейтинг: 0 / 0
12.10.2010, 10:23
    #36894011
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
яндекс лента принесла ссылку http://informixonline.blogspot.com/2010/10/blog-post.html

План запроса? Легко!
Informix складывает план запросов в файл в домашнем каталоге пользователя на сервере. Поэтому возникает некоторое неудобство когда требуется получить план запроса: надо запустить запрос, затем переключится в консоль, подключится к серверу, открыть файл и смотреть полученный файл с планом запроса. Дополнительные вопросы возникают если пользователи не заведены на сервере где запущен экземпляр Informix и соответственно не имеют домашних каталогов. Я решил эту задачу таким образом, что теперь не надо переключаться в консоль и идти на сам сервер, чтобы посмотреть план запроса. Планы запросов теперь складываются в отдельную таблицу в базе и их можно смотреть с помощью обычных sql-запросов.
...
Рейтинг: 0 / 0
12.10.2010, 10:48
    #36894079
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Журавлев Денисяндекс лента принесла ссылку http://informixonline.blogspot.com/2010/10/blog-post.html
...
[/i]

Да, вот такая идея у меня возникла в процессе решения задачи (изначально писал на java, но удалось решить средствами SPL). Вариант на java кстати тоже работает, опубликую позже.
...
Рейтинг: 0 / 0
12.10.2010, 10:54
    #36894098
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
PS. Насчет складывания планов запросов я наврал - план возвращается функцией, т.е. результат можно смотреть, но пока никуда не складывается.
...
Рейтинг: 0 / 0
12.10.2010, 18:26
    #36895572
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Andron,

т.е. проблема была из-за отсутствия прав на домашний каталог?
...
Рейтинг: 0 / 0
12.10.2010, 21:37
    #36895860
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Журавлев Дениса в чем проблема?
Спасибо за фрагмент. Но в нем работа идет через JDBC, а по другому (напрямую, как в SPL) никак нельзя?
...
Рейтинг: 0 / 0
13.10.2010, 09:36
    #36896247
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
bk0010Журавлев Дениса в чем проблема?
Спасибо за фрагмент. Но в нем работа идет через JDBC, а по другому (напрямую, как в SPL) никак нельзя?про sqlj не знаю, не встречал в информиксе.
...
Рейтинг: 0 / 0
13.10.2010, 12:33
    #36896733
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
bk0010Журавлев Дениса в чем проблема?
Спасибо за фрагмент. Но в нем работа идет через JDBC, а по другому (напрямую, как в SPL) никак нельзя?

обратите внимания на урл/ Это и есть напрямую
...
Рейтинг: 0 / 0
13.10.2010, 12:44
    #36896773
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
cprобратите внимания на урл/ Это и есть напрямуюречь про sqlj
в оракле я пишу на sqlj так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
     public   static   void  CheckCertInCRL(String CertSN)  throws  SQLException,
                                                            AuthException
      {
           int  recovationKeyCnt =  0 ;
          
          #sql { select count(*) into :recovationKeyCnt 
                 from pki_revocation_list
                 where CertSerialNumber = :CertSN
          };
     
           if  (recovationKeyCnt !=  0 ) {
             throw   new  AuthException("Ваш сертификат №: ["+CertSN+"] отозван.");
          }  
      }
...
Рейтинг: 0 / 0
13.10.2010, 13:42
    #36896952
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Журавлев Денис,

понятно, под "напрямую" вы подразумевали использование переменных, а я коннекцию к базе.

А зачем напрямую?

Взамен на незначительные сложности типа
rs=statement.exequteQuery("select col1 from tab1 where id==1");
while (rs.next()) {
rs.getInt(1);
}

использовать встроенный в джаву sql который не умеет использовать динамический sql и работает в разы медленней?
...
Рейтинг: 0 / 0
13.10.2010, 13:54
    #36896982
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
cprAndron,

т.е. проблема была из-за отсутствия прав на домашний каталог?

Нет, проблема была в неправильной регистрации external name, я выше написал как надо правильно делать (указывать дополнительно базу и владельца).
...
Рейтинг: 0 / 0
13.10.2010, 14:28
    #36897074
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
cpr
использовать встроенный в джаву sql который не умеет использовать динамический sql и работает в разы медленней?надо не мне. Мне вообще джава внутри субд не нужна, я за 10 лет написал две процедуры, одной из них надо ходить на диск сервера, а второй SHA1withRSA. Медленней оно работать не может, оно компилируется в тоже самое что и у вас, просто синтаксис другой и страшно выглядящий.
...
Рейтинг: 0 / 0
13.10.2010, 22:57
    #36898262
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
cprА зачем напрямую?
В надежде на значительный рост быстродействия.
...
Рейтинг: 0 / 0
14.10.2010, 09:43
    #36898561
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
Журавлев Денисcpr
использовать встроенный в джаву sql который не умеет использовать динамический sql и работает в разы медленней?надо не мне. Мне вообще джава внутри субд не нужна, я за 10 лет написал две процедуры, одной из них надо ходить на диск сервера, а второй SHA1withRSA. Медленней оно работать не может, оно компилируется в тоже самое что и у вас, просто синтаксис другой и страшно выглядящий.

Я сравнивал, правда не короткие запросы, а цикл выгрузки данных на встроенной джаве через ее итератор и обычный цикл прокрутки резалтсета. Разница более чем в два раза по скорости и в разы больше по утилизации процессора.

Где то в доке по встроенной джаве встречал упоминания о том, что на них можно писать ХП, но сам не пробовал и не буду.
...
Рейтинг: 0 / 0
14.10.2010, 09:46
    #36898568
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
bk0010cprА зачем напрямую?
В надежде на значительный рост быстродействия.

Если посмотреть на скомпилированый java-код то надеятся не на что.
Вообще я никогда не верил в надежы и разговоры, лучший спозоб написать прогу и померять время.
...
Рейтинг: 0 / 0
14.10.2010, 09:52
    #36898578
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение java udr и ошибка -937
cprЯ сравнивал, правда не короткие запросы, а цикл выгрузки данных на встроенной джаве через ее итератор и обычный цикл прокрутки резалтсета. Разница более чем в два раза по скорости и в разы больше по утилизации процессора.

Где то в доке по встроенной джаве встречал упоминания о том, что на них можно писать ХП, но сам не пробовал и не буду.я тогда вообще не понимаю о чем вы. Я говорил только про java udr
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Выполнение java udr и ошибка -937 / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]