Вы просмотрели образец кода в $ ORACLE_HOME/oci/samples (если у вас их нет, затем запустите установщик Oracle и скажите ему установить пример кода). Есть несколько, которые используют объемные интерфейсы.
Возможно, вы захотите серьезно рассмотреть возможность использования библиотеки. Я закодировал Pro * C (ненавижу его), прямой OCI и использовал сторонние библиотеки. Последнее лучшее, с большим отрывом. Синтаксис OCI действительно волосатый и имеет варианты, которые вы, вероятно, никогда не будете использовать. В то же время это очень, очень жестко и приведет к сбою вашего кода, если вы делаете что-то даже немного неправильно.
Если вы используете C++, тогда я могу порекомендовать OTL; Я провел серьезное тестирование производительности, и OTL так же быстро, как и ручное кодирование для общего случая (вы можете победить его на 5-10%, если вы точно знаете, что у вас нет NULL в ваших данных и, следовательно, не нужен индикатор массивы). Примечание. Не пытайтесь понять код OTL. Это довольно отвратительно. Но это работает очень хорошо.
Существует также множество библиотек C, которые обертывают OCI и делают их более пригодными для использования и менее склонны укусить вас, но я не тестировал ни одного из них.
Если ничего другого, сделайте себе одолжение и напишите функции обертки для кода OCI, чтобы упростить задачу. Я сделал это в своем сценарии высокой производительности, и это резко сократило количество проблем, которые у меня были.
Я вообще не знаю предметной области, но кажется, что этот вопрос был закрыт не по своей сути, а исключительно потому, что (до редактирования) он попросил примеры кода, и это было (с учетом конкретной формулировки) интерпретируется как * примеры кода * вне сайта *, поэтому вопрос задается сторонним запросом ресурса. Это кажется сумасшедшим для меня, поскольку я утверждаю в http: //meta.stackoverflow.com/questions/275063/why-is-my-not-an-answer-flag-marked-helpful-but-not-acted-on # comment267078_275066, и в любом случае (полностью поверхностный) выбор фразы был изменен, поэтому я голосую за возобновление. – 2015-11-05 14:09:29