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

может грант екзекьют ?
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36889491
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Права на выполнение выдал конечно первым делом, и пользователю test и даже public, но ошибка осталась.
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36889523
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GRANT USAGE ON LANGUAGE JAVA TO TEST
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36889572
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это тоже делал, но не помогло.
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36889611
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronЭто тоже делал, но не помогло.dbaccess-м выполнял? Ошибка такая же? В onstat посмотри какие там ошибки показываются
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36892085
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, при выполнении через 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
Выполнение java udr и ошибка -937
    #36892162
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попроси у Нунеса его поделку, он обещал выложить в открытый доступ
http://informix-technology.blogspot.com/search/label/explain_sql
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36893656
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могли бы вы выложить кусок вашей процедуры (где было-бы обращение к таблице/курсору)?
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36893854
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в чем проблема? Есть пример ./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
Выполнение java udr и ошибка -937
    #36894011
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
яндекс лента принесла ссылку http://informixonline.blogspot.com/2010/10/blog-post.html

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

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

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

обратите внимания на урл/ Это и есть напрямую
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36896773
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Выполнение java udr и ошибка -937
    #36896952
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Журавлев Денис,

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

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

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

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

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

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

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

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

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

Где то в доке по встроенной джаве встречал упоминания о том, что на них можно писать ХП, но сам не пробовал и не буду.я тогда вообще не понимаю о чем вы. Я говорил только про java udr
...
Рейтинг: 0 / 0
Выполнение java udr и ошибка -937
    #36898592
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Журавлев Денис,

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


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