@skoch244

Можно ли написать хранимую процедуру в Oracle DB на Python или на другом из языков программирования?

Можно ли написать хранимую процедуру в Oracle DB на Python или на другом из языков программирования?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Не помню как щас. Во времена десятки (Oracle 10g) оракл поддерживал следующие языки разработки хранимок.
- PL/SQL
- Java
- external (C language/binary files)

Можно попробовать ваш Python-код завернуть в Jython. И запустить внутри Java процедуры. Но готов спорить что не взлетит по нехватке памяти. Дело в том что инстанс по умолчанию конфигурируется с очень тухлыми настройками jvm xmx и там вряд-ли будет что-то больше чем 128m. Да и сама JVM была очень тухлых версий. Что-то вроде 1.5. И это была не та Java которая сейчас OpenJDK. Вобщем велик шанс что не взлетит. Но попробуйте. Обычно Ораклисты не любят увеличивать пул для JVM т.к. он обычно является балластом.

Есть еще вариант - как-то собрать бинарник из Python кода. И подключить его как сишный код. Здесь я не вкурсе можно это или нет для Python. Если в бинарник вшивается сам интерпретатор - то может получится что-то толстое и монстро-подобное. Вобщем пробуйте сами.

Вообще разработка хранимок на кастомных языках - это огромная авантюра. И тут никто наперед не скажет сработает это или нет. Это сильный шаг в сторону от Oracle-стиля разработки. И вообще процессное пространство Oracle лучше экономить и не запускать там ничего стороннего. Если вам сильно нужен Python - запускайте его отдельным процессом и подключайтесь через клиент и работайте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xez
@xez
TL Junior Roo
Можно на pl/sql
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы