Типы данных LONG и LONG RAW устарели в пользу CLOB и BLOB начиная с Oracle 8.0 (то есть почти пятнадцать лет назад).Основная причина этого переключения заключается в том, что со столбцами LONG действительно сложно работать, а для LONG RAW это удваивается.
Как вы уже обнаружили, существует предел того, что мы можем сделать в PL / SQL,Это ограничение составляет 32 КБ.Столбцы LONG RAW большего размера можно обрабатывать только в C.
Том Кайт использовал для размещения утилиты для выгрузки столбцов Long Raw в плоский файл, который затем можно было загрузить в современные столбцы больших объектов через SQL Loader.Похоже, что эта доступность недоступна (ее нет в списке файлов / ~ tkyte в его блоге).
Однако Фанксин Лу написал версию другой утилиты Tom Kyte, которую он назвал ociuldr
и котораявидимо обрабатывает Long Raw.Вы можете скачать источник с его веб-сайта. Узнайте больше .
NB Я не пробовал ociuldr
для себя (я не сталкивался с Long Raw с прошлого тысячелетия), и я ни в коем случае не подтверждаю это.Но, похоже, это единственное решение, которое интернет предлагает сейчас.Поэтому я предлагаю вам попробовать, если вы не обладаете хорошими навыками OCI и не можете написать свою собственную реализацию.