Сборка UDF для ORACLE 11G


Главная Форумы Программное обеспечение СУБД Сборка UDF для ORACLE 11G

В этой теме 5 ответов, 4 участника, последнее обновление  Teddy 4 года/лет назад.

  • Автор
    Сообщения
  • #19408

    Teddy
    Участник

    Добрый день.
    Сталкивался ли кто нибудь со сборкой собственной UDF для Оракла?

    Проблема такая, после сборки получаю файл libxxx.a
    После регистрации в БД
    create or replace library libxxx as ‘/opt/oracle/db/lib/libxxx.a(xxx.o)’
    При попытке вызова функций из нее напарываюсь на
    ORA-06520: PL/SQL: Error loading external library
    ORA-06522: 0509-022 Cannot load module /app/oracle/db11/lib/libxxx.a(xxx.o).
    0509-103 The module has an invalid magic number.

    Есть у кого опыт компиляции таких библиотек? Ткните плиз в документ какой иди ссылочку полезную.

  • #19410

    andrewk
    Участник

    опыта нет, но ошибка скорее всего связана с попыткой загрузки 32-битных библиотек в 64-битный оракл или наоборот.

  • #19411

    ldd и file полезные команды.

  • #19412

    Andrew White
    Участник

    Согласен с версией про 32 и 64 бит.
    Поэтому, будет логично проверить разрядность ядра системы
    bootinfo -K

    Проверить, есть в директории Oracl’а разные версии библиотек
    /app/oracle/db11/lib(32,64) или что-то в этом роде.

    И пробовать слинковать свои UDF с нужными библиотеками, совпадающими по разрядности ядра.

  • #19413

    Оракл 11g под Aix бывает только 64битный. Конечно, не исключено, что какая-нибудь конкретная библиотека сделана 32 (кто их индусов поймет), но дистриб уже много лет строго 64.

  • #19415

    Teddy
    Участник

    Всем спасибо
    Действительно напутали с разрядностью при сборке.

Для ответа в этой теме необходимо авторизоваться.