Oracle 8i utl_http & utl_tcp

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
sgt.pepper
Сообщения: 5
Зарегистрирован: 15 июл 2004, 09:13

Есть потребность из PL/SQL блока посылать POST запросы к веб серверу (именно POST запросы. С текстовым блобом в теле реквеста)

На девятке все просто и легко - есть мощный UTL_HTTP или тот же UTL_TCP.

На восьмерке UTL_HTTP этого не позволяет.
Поэтому беру UTL_TCP и пробую работать с web сервером на уровне TCP соединения.

При этом вызов utl_tcp.open_connection обламывается с сообщением что нет java класса TCPConnection.

Вопрос: как на восьмерке работает UTL_HTTP (а он реально работает) если в яве нет поддержки TCP соединений?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

sgt.pepper, tесть большое подозрение, что вопрос всё же не по Oracle, а по Java.
Ну и вопрос на засыпку: слово socket о чём-либо говорит? :)
Даже самый дурацкий замысел можно воплотить мастерски
sgt.pepper
Сообщения: 5
Зарегистрирован: 15 июл 2004, 09:13

AiK
Вопрос мой не про Java.
Вопрос мой про PL/SQL.
Конкретно про пакет UTL_HTTP.
И вопрос такой: Как он работает, если нет Java класса TCPConnection.
Надеюсь знаешь каким транспортом пользуется HTTP протокол?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Я так думаю, что Java, она и в африке Java.
Есть такой замечательный класс java.net.Socket. С его помощью ты имеешь полный контроль над транспортным уровнем. Реализуй хоть TCP, хоть UDP, а хошь так вообще IPX :)
Ну и кроме всего прочего, можно и оракловские классы декомпильнуть, чтобы знать как оно там на самом деле :) .
Даже самый дурацкий замысел можно воплотить мастерски
sgt.pepper
Сообщения: 5
Зарегистрирован: 15 июл 2004, 09:13

Классы декомпильнуть не проблема.
За java.net.Socket спасибо.
Но вот увидеть боди завраппленного UTL_HTTP не получится.
Собственно я наверное слишком замутненно спросил о том, о чем хотел узнать.

Чем пользуется UTL_HTTP если он не пользуется UTL_TCP.
Наверное java.net.Socket и пользуется. Или Сишной какой фенькой.
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Это вопрос всё-таки по Oracle. Это Oracle BUG:1721293.
Лечится патчем 8172 и командой

call dbms_java.loadjava('-resolve -force plsql/jlib/plsql.jar');
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
sgt.pepper
Сообщения: 5
Зарегистрирован: 15 июл 2004, 09:13

Все оказалось намного хуже.
Есть обширная сеть филиалов в разных субъектах РФ в которых где-то девятки, а где-то еще восьмерки стоят.
Выяснилось, что все восьмерки вообще установлены без Авроры, и ставить её туда никто не собирается.
В общем ни загрузка plsql.jar ни написание своей реализации на яве меня не спасет.

Воспользоваться UTL_HTTP на восьмерке (а он там очень беден в средствах) не получится.
Но ведь этот UTL_HTTP работает без явы, но тем не менее имеет доступ с стеку TCP/IP.

1.Чем он пользуется?
2. Нельзя ли это средство заюзать и мне?
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

sgt.pepper писал(а): Воспользоваться UTL_HTTP на восьмерке (а он там очень беден в средствах) не получится.
Но ведь этот UTL_HTTP работает без явы, но тем не менее имеет доступ с стеку TCP/IP.

1.Чем он пользуется?
2. Нельзя ли это средство заюзать и мне?
1. Жабой он пользуется. Oracle, как известно, JServer, так что жаба там по жизни
2. Можно. Жабскую прогу написать и загрузить какой-нибудь HotJava Bean на сервак.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
sgt.pepper
Сообщения: 5
Зарегистрирован: 15 июл 2004, 09:13

UTL_HTTP у меня прекрасно работает на 8i установленной вообще без Авроры.
Не пользуется он явой.
Ответить