On Sat Nov 19 15:15:44 2011, darkjunix@gmail.com wrote:
Show quoted text> Hi,
>
> Right now DBD::Oracle use oracle instant client.
Not true. You can use Instant client or a full Oracle install.
Show quoted text> This drivers has many
> limitations for some countries and it has some problems with GPL
> license[0].
DBD::Oracle dual licensed Perl Artistic License or GPL -
http://dev.perl.org/licenses/
Show quoted text
I could just be missing the point entirely with this but doesn't ocilib
actually require building against an Oracle instant client or Oracle
install so you are not avoiding the use of Oracle code at all. I don't
use ocilib but I guessed this from:
http://orclib.sourceforge.net/doc/html/group__g__install.html
Check the shared library path environment variable (LD_LIBRARY_PATH,
LD_PATH, ...):
it must include $ORACLE_HOME\[lib|lib32|lib64]
it must include the path where OCILIB has been installed (by
example, typically /usr/local/lib under Linux)
List of available options:
--with-oracle-import=(linkage|runtime)
--with-oracle-charset=(ansi|wide|mixed) (old mode 'unicode' mapped
to 'wide')
--with-oracle-home=(custom oracle regular client directory)
--with-oracle-headers-path=(oracle header files directory)
--with-oracle-lib-path=(oracle shared lib directory)
--with-oracle-lib-name=(oracle shared lib name)
--with-custom-loader=(linker flag telling the linker which loader to
use when loading dynamically at runtime Oracle shared libs. This option
must be provide if the platform does not use the default loader flag
'-ldl') and the --with-oracle-import is set to 'runtime'
Note:
--with-oracle-headers-path and --with-oracle-lib-path are meant to be
used with Instant client only but can used for regular client of libs
and headers are not located in usual folders
Note:
If the Oracle OCI linkage mode is set to 'linkage' (default) and no
Oracle lib path is provided, OCILIB configure script tries to located
the Oracle library folder following this sequence :
$ORACLE_HOME/lib32 (32 bits libs)
$ORACLE_HOME/lib (32 or 64 bits libs)
$ORACLE_HOME/lib64 (64 bits libs)
Oracle Instant Client Support
OCILIB supports Oracle Instant Client.
On Microsoft Windows, there is no difference between using a regular
Oracle client and an Instant Client with OCILIB
On Unix-like systems, the Instant Client is divided in different packages.
Public headers and shared libs are not part of the same package.
So, you must provide the following options to the configure command:
with-oracle-headers-path: location the public header files
with-oracle-lib-path: location the oracle shared lib
If your instant client package containing the shared libs does not have
a symbolic link 'libclntsh.[shared lib extension]' to the fully
qualified shared lib real name, you must create it:
Example on Linux:
$ ln -s $ORALIBPATH/libclntsh.so.10.1 $ORALIBPATH/libclntsh.so
The above infers to me that ocilib builds against Oracle libraries,
If this is correct you are still using Oracle libraries so any license
issues still exist. If I'm wrong and you are really saying ocilib is a
standalone library implementing Oracle Call Interface API without Oracle
OCI libraries then please let me know but as far as I can see it is a
wrapper around OCI, not a replacement for OCI.
Martin
--
Martin J. Evans
Wetherby, UK