The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Oracle открыла код библиотеки ODPI-C для СУБД Oracle

15.08.2017 12:33

Компания Oracle объявила об открытии исходных текстов библиотеки ODPI-C для СУБД Oracle, представляющий программный интерфейс для упрощения доступа к СУБД из приложений на языках C/C++. По сравнению с OCI новый интерфейс заметно упрощает процесс разработки, предоставляет более абстрактные методы управления памятью и ресурсами, и позволяет обойтись меньшим кодом в случаях когда не требуется применение расширенных возможностей Oracle. Библиотека является обвязкой над низкоуровневым интерфейсом Oracle Call Interface (OCI). Код написан на языке Си и распространяется под лицензией Apache 2.0.

Изначально ODPI-C был разработан в процессе создания Python-интерфейса cx_Oracle и также задействован в драйверах для Node.js, Go и Rust. ODPI-C позволяет выполнить SQL и PL/SQL c поддержкой курсоров прокрутки, объектов, JSON, загрузки массивов, кэширования выражений, очередей, внешней аутентификации и уведомлений о выполнении запросов. Встроенный механизм контроля использования ресурсов на основе подсчёта ссылок упрощает применение библиотеки в многопоточных приложениях.

  1. Главная ссылка к новости (https://blogs.oracle.com/opal/...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47025-oracle
Ключевые слова: oracle, odpi-c
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Вуайерист (?), 14:20, 15/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Библиотека является обвязкой над низкоуровневым интерфейсом Oracle Call Interface (OCI)
    > распространяется под лицензией Apache 2.0.

    Вот только сам OCI запредельно проприетарный. Ещё и от такой корпорации, как Oracle.

     
     
  • 2.4, ЫЫ (?), 15:01, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Поясните пожалуйста Вашу мысль..
    Oracle Call Interface - "запредельно проприетарный"? Это как?
    Вы знаете  Oracle Call Interface  не от корпорации Oracle?
     
     
  • 3.9, Аноним (-), 16:38, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблема в том что у Oracle закрытый протокол обращения к БД (хотя есть же ManadgedDataAccess
     
     
  • 4.21, Аноним (-), 20:24, 21/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Олдфаги ещё не забыли, как "взламываются" их БД?
    Патчим клиентский бинарник и... всё, можно авторизовываться "известным вам" (любым) паролем.
     

  • 1.2, Аноним (-), 14:34, 15/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Кому эта хрень вообще нужна, ежели орацлем пользуются только через jdbc?
     
     
  • 2.5, ЫЫ (?), 15:02, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Кому эта хрень вообще нужна, ежели орацлем пользуются только через jdbc?

    Ну например есть у вас приложение на ASP.. и вы хотите его связать с базой... наверное как-то так...

     
     
  • 3.6, Аноним (-), 15:14, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так это легаси, и его никто ни с чем связывать не захочет.
     
  • 2.7, YetAnotherOnanym (ok), 15:15, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Возможно, для Вас будет сюрпризом узнать, что за пределами мира жабы существуют другие языки программирования, и они тоже имеют средства для работы с БД, включая Оракл.
     
     
  • 3.8, Аноним (-), 15:28, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Возможно, для Вас будет сюрпризом узнать, что за пределами мира жабы существуют
    > другие языки программирования, и они тоже имеют средства для работы с
    > БД, включая Оракл.

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

     
     
  • 4.10, Аноним (-), 16:40, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Возможно, для Вас будет сюрпризом узнать, что за пределами мира жабы существуют
    >> другие языки программирования, и они тоже имеют средства для работы с
    >> БД, включая Оракл.
    > для вас будет сюрпризом, что в пределах мира орацле ничего кроме жабы
    > не существует.

    Oracle.ManagedDataAccess (ODP)

     
  • 4.12, рептилоид (?), 16:42, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да, да, не существует. OCI - это я подбросил.
     

  • 1.3, anonymous (??), 14:39, 15/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    этот OCI помнится кучу версий имел и писали его левой ногой что сразу давало понять о качестве кода в самой базе. postgres наше все
     
     
  • 2.11, Аноним (-), 16:41, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > этот OCI помнится кучу версий имел и писали его левой ногой что
    > сразу давало понять о качестве кода в самой базе. postgres наше
    > все

    как только научится ... очень много чему. Да есть подвижки, но для многих применений пока ещё очень далеко.

     
     
  • 3.19, лютый жабист__ (?), 10:33, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > как только научится ... очень много чему. Да есть подвижки, но для
    > многих применений пока ещё очень далеко.

    Вот это динозавр откопался :)))) для информации, на этой планете последние 10 лет рулят NOSQL.

     
  • 2.13, ораклист и постгресист (?), 22:12, 15/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > этот OCI помнится кучу версий имел и писали его левой ногой что сразу давало понять о качестве кода в самой базе.
    > postgres наше все

    Чо правда что-ли больше версий чем у postgres?

    И "postgres наше всё" говорят ява программисты, которые могут только insert/update/delete.
    И у которых здорово подгорает, когда показываешь, что используя оракл, всё их нагромождение классов можно заменить несколькими хранимыми процедурами по 10-20 строк в каждой.

    Не могу ничего сказать о качестве кода ни в postgres, ни в oracle - не видел ни там, ни там.
    Но документация в oracle лучше.

    То для чего в оракл есть готовые решения (управление транзакциями, пакеты, автономные тразакции, запуск задач по расписанию, переносимые табличные пространства, переопределение таблиц, флэшбэк архив, репликация и т.д. и т.д)
    в postgres приходится делать самому (и _поразному_ на разных OS).

    В оракл нет извратов типа "set transaction isolation level read uncommited"

     
     
  • 3.14, n (??), 12:31, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > И "postgres наше всё" говорят ява программисты, которые могут только insert/update/delete.
    > И у которых здорово подгорает, когда показываешь, что используя оракл, всё их нагромождение классов можно заменить несколькими хранимыми процедурами по 10-20 строк в каждой.

    Про хранимые процедуры у postgres слышал?


    > Не могу ничего сказать о качестве кода ни в postgres, ни в oracle - не видел ни там, ни там.
    > Но документация в oracle лучше.

    Объёмнее - это да. Но найти что-то конкретное бывает ой как непросто и небыстро.


    > То для чего в оракл есть готовые решения (управление транзакциями, пакеты, автономные тразакции, запуск задач по расписанию, переносимые табличные пространства, переопределение таблиц, флэшбэк архив, репликация и т.д. и т.д)
    > в postgres приходится делать самому (и _поразному_ на разных OS).

    То есть как самому? Вообще с нуля? Или всё-же в сети встречаются готовые примеры (для разных OS)?


    > В оракл нет извратов типа "set transaction isolation level read uncommited"

    Зато есть изврат "select for update", который блокирует другие запросы.
    А read uncommited в oracle иногда очень не хватает, особенно, если кто-то выполнил "select for update".

     
     
  • 4.15, Агроном (?), 14:39, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Зато есть изврат "select for update", который блокирует другие запросы.

    nowait пробывал?

    >А read uncommited в oracle иногда очень не хватает, особенно, если кто-то выполнил "select for update".

    Зачем тогда СУБД? Пиши сразу в файл, так гораздо быстрее

     
  • 4.17, ыы (?), 19:16, 16/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Зато есть изврат "select for update", который блокирует другие запросы.

    Вот про изврат  - мне понравилось :)
    А в постргесс select for update не блокирует таблицу?  А как же тогда достигается консистентность?
    https://www.postgresql.org/docs/9.5/static/sql-select.html

     
  • 3.18, лютый жабист__ (?), 10:29, 18/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >используя оракл, всё их нагромождение классов можно заменить несколькими хранимыми процедурами по 10-20 строк в каждой

    Ну и ересь :))) ещё скажи, что процедурное программирование круче ООП.

    По моим наблюдениям PLSQLные портянки намного многословнее, чем жабокод.
    Который кстати далеко не лаконичен, что впрочим лечится хорошей IDE.
    А у вас где отладчик, unittest-ы?

    Когда ядро проекта написано на PLSQL то скорость разработки очень быстро падает до нуля и морфирует в зацикленный процесс багогенерации, пока не придёт жабист и не перепишет всё нормально :))))

     
  • 3.20, лютый жабист__ (?), 10:27, 19/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстати, ты конечно сравниваешь бесплатный Пг и бесплатный oracle 11 xe? Ха-ха-ха...

    У нас в конторе такой ДБАшечка раньше тоже был - давайте сопрём oracle ee за 100килобаксов, а то мне лень руками и головой пошевелить с этим вашим Пг.
    Взяли вообще монго, а дба теперь полы моет.

     
     
  • 4.22, _ (??), 23:19, 21/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Скоро вы все их мыть будете ибо Монга - *нище лютое!  :)
     

  • 1.16, Аноним (-), 15:44, 16/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Посмотрел код примера. :(
    Если это "интерфейс заметно упрощает процесс разработки" - то
    используемая мной библиотека IBPP для Firebird от 2007 года - верх совершенства, а OTL вообще вне сравнения ...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру