Требуется ли для использования Oracle OCI API программирование на C?
Я искал здесь:
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/toc.htm
но все выглядит как C или C++. Могу ли я использовать любой другой язык для использования OCI?
Благодарю.
РЕДАКТИРОВАТЬ: мне нужно использовать прямой путь для объекта LOB (blob, clob и т. Д.) Я считаю, что я должен использовать OCI для этого.
РЕДАКТИРОВАТЬ: Я основываю мое предположение OCI на этом: Может ли прямой путь вставлять в столбец больших объектов?
4 ответа
По данным Oracle
"Oracle Call Interface (OCI) - это наиболее полный, высокопроизводительный интерфейс на основе языка C с базой данных Oracle, который предоставляет всю мощь базы данных Oracle".
Однако существуют разные способы работы с базой данных Oracle. Какой язык вы хотите использовать, и чего вы на самом деле хотите достичь?
Если вы хотите использовать Java, вы можете использовать JDBC OCI. Я считаю, что есть также способы доступа к OCI через Perl, Python и Ruby, если хотите (хотя я их никогда не использовал).
Теоретически, каждый язык, который может вызывать стандартные функции C, должен иметь возможность использовать OCI. Это включает в себя такие языки, как C++ и Delphi, но также включает в себя управляемые языки, такие как C# (которые могут получать доступ к этим функциям через P/Invoke) или Java (с собственным интерфейсом Java).
Однако, если ваша цель - просто получить доступ к Oracle, но вы не хотите делать это специально через OCI, гораздо лучше использовать любую библиотеку, специально предназначенную для вашего языка. Например, используйте ADO.NET под C# или JDBC под Java.
В любом случае, большинство из этих библиотек используют OCI для внутреннего использования (за исключением некоторых драйверов ADO.NET и JDBC для прямого подключения).
Вы обнаружите, что большинство Oracle API на других языках действительно связаны с OCI, используя любой механизм, который этот язык обычно использует для взаимодействия с библиотеками C. Примеры включают cx_Oracle для Python, OCI * ML для OCaml и Oratcl. Они обычно абстрагируют OCI, который является очень низким уровнем, во что-то более простое в использовании из языка высокого уровня (например, подключение к базе данных - это одна строка в этих языках, но это страница кода в OCI, поскольку все должно быть настроено явно).