0

I was looking here:

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/toc.htm

but everything looks like C or C++. Can I use any other language to use the OCI?

Thanks.

EDIT: I need to use direct path for LOB object (blob, clob, etc.) I believe I have to use the OCI to do that.

EDIT: I base my OCI assumption on this: Can a direct path insert into a LOB column?

Community
  • 1
  • 1
johnny
  • 19,272
  • 52
  • 157
  • 259

4 Answers4

4

According to Oracle

"Oracle Call Interface (OCI) is the most comprehensive, high performance, native 'C' language based interface to the Oracle Database that exposes the full power of the Oracle Database."

However, there are different ways to work with an Oracle database. What sort of language do you want to use, and what do you actually want to achieve?

APC
  • 144,005
  • 19
  • 170
  • 281
1

If you want to use Java, you can use JDBC OCI. I believe that there are also ways to acess OCI through Perl, Python, and Ruby, if you want (though I've never used them).

FrustratedWithFormsDesigner
  • 26,726
  • 31
  • 139
  • 202
1

Theoretically, every language that can call standard C functions should be able to use OCI. This includes languages such as C++ and Delphi, but also includes managed languages such as C# (that can access these functions through P/Invoke) or Java (with Java Native Interface).

However, if your goal is simply to access the Oracle, but don't care to do it specifically through OCI, it is much better to use whatever library is specifically geared towards your language of choice. For example, use ADO.NET under C# or JDBC under Java.

Most of these libraries use OCI internally anyway (with notable exception of some direct-to-wire ADO.NET and JDBC drivers).

Branko Dimitrijevic
  • 50,809
  • 10
  • 93
  • 167
0

You will find that most Oracle APIs in other languages are really bindings to the OCI using whatever mechanism that language normally uses to interoperate with C libraries. Examples include cx_Oracle for Python, OCI*ML for OCaml and Oratcl. These typically abstract the OCI which is very low level, into something easier to use from a high-level langauage (e.g. connecting to a database is one line in those langauges, but it is a page of code in OCI as everything must be set up explicitly).

Gaius
  • 2,556
  • 1
  • 24
  • 43