Here's what worked for me ...

Platforms
        Windows XP Pro
        Cygwin 1.3.15-2 (including Perl 5.8.0)

I have installed the following Oracle products :
        Oracle 9i Database 9.2.0.1
        Oracle Net Listener 9.2.0.1
        Oracle Database Utilities 9.2.0.1
        Oracle Verify Utility 9.2.0.1
        Oracle Call Interface (OCI) 9.2.0.1
        Oracle Trace 9.2.0.1
        PL/SQL 9.2.0.1
        Recovery Manager 9.2.0.1
        SQL*Plus 9.2.0.1
        Oracle JVM 9.2.0.1
        Required Support Files 9.2.0.1
        Oracle Intermedia 9.2.0.1
        Database Configuration Assistant 9.2.0.1
        Migration Utility 9.2.0.1
        Oracle Intelligent Agent 9.2.0.1
        Generic Connectivity Using ODBC 9.2.0.1
        Generic Connectivity Using OLEDB - FS 9.2.0.1
        Generic Connectivity Using OLEDB - SQL 9.2.0.1
        XML 9.2.0.1
        Oracle Ultra Search Server 9.2.0.1
        Oracle Starter Database 9.2.0.1
        Oracle Text 9.2.0.1
        Enterprise Edition Options 9.2.0.1
        Oracle Net Services 9.2.0.1
        Oracle Enterprise Manager Products 9.2.0.1
        Oracle 9i Development Kit 9.2.0.1
        Oracle HTTP Server 9.2.0.1
        Oracle Windows Interfaces 9.2.0.1
        iSQL*Plus 9.2.0.1
        Oracle JDBC/OCI Interfaces 9.2.0.1
        Installation Common Files
        Oracle 9i Client 9.2.0.1
        Oracle Internet Directory Tools 9.2.0.1
        Pro*COBOL 1.8.77.0.0
        Oracle Workflow Client 2.6.2.0
        Pro*COBOL 9.2.0.1
        Oracle Migration Workbench 9.2.0.1
        Pro*C/C++ 9.2.0.1

I know not all of these are required to get DBD::Oracle working, but
that's what I've got, and it works.  I suspect for client only stuff,
the key components would be :
        Oracle Call Interface (OCI) 9.2.0.1
        Required Support Files 9.2.0.1
        Oracle Net Services 9.2.0.1
        Oracle 9i Development Kit 9.2.0.1
        Oracle Windows Interfaces 9.2.0.1
        Installation Common Files
        Oracle 9i Client 9.2.0.1
        Pro*C/C++ 9.2.0.1

In my cygwin environment, I installed DBI-1.30 as normal.  That is ...
        perl Makefile.PL
        make
        make test
        make install

I then downloaded DBD-Oracle-1.12.tar.gz.  From there, here's what I did
....

$ tar xfz DBD-Oracle-1.12.tar.gz
$ cd DBD-Oracle-1.12
$ dlltool --input-def oci.def --output-lib liboci.a
$ cp liboci.a /usr/lib
$ export LD_LIBRARY_PATH=/usr/lib
$ export ORACLE_HOME='f:\oracle\ora92'
$ export ORACLE_USERID='sbdev/sbdev@sb9i'
$ perl Makefile.PL
(****** Here's the output ... *******)
Using DBI 1.30 installed in
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBI
Duplicate specification "S=s" for option "s"

 Configuring DBD::Oracle ...

>>>     Remember to actually *READ* the README file!
        Especially if you have any problems.

Using Oracle in f:/oracle/ora92
Found header files in rdbms/demo.
Found oci directory
Using OCI directory 'oci'
Using liboci.a  (did you build it?)

System: perl5.008 cygwin_nt-5.0 kmbestst 1.3.12(0.5432) 2002-07-06 02:16
i686 unknown 
Compiler:   gcc -O2 -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing
Linker:     /usr/bin/ld
Sysliblist: 


Warning: If you have problems you may need to rebuild perl with
-Uusemymalloc.

Checking if your kit is complete...
Looks good
Use of uninitialized value in concatenation (.) or string at Makefile.PL
line 1129.
LD_RUN_PATH=/usr/lib
Using DBD::Oracle 1.12.
Using DBD::Oracle 1.12.
Using DBI 1.30 installed in
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBI
Writing Makefile for DBD::Oracle

***  If you have problems...
     read all the log printed above, and the README and README.help
files.
     (Of course, you have read README by now anyway, haven't you?)
(****** Output End *******)
$ make
(****** This gave a heap of warnings like ...)
"dbdimp.c:206: warning: passing arg 1 of `fprintf' from incompatible
pointer type"
(****** but ended with ...)
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.dll
LD_RUN_PATH="/usr/lib" ld2  -s -L/usr/local/lib Oracle.o dbdimp.o oci7.o
oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.dll
/usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/libperl.dll.a -loci  
gcc -shared -o  Oracle.dll -Wl,--out-implib=libOracle.dll.a
-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
-s -L/usr/local/lib Oracle.o dbdimp.o oci7.o oci8.o
/usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/libperl.dll.a -loci
Creating library file: libOracle.dll.a
mv Oracle.dll libOracle.dll.a blib/arch/auto/DBD/Oracle/
chmod 755 blib/arch/auto/DBD/Oracle/Oracle.dll
cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
/usr/bin/perl.exe "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain
Extracted ora_explain from ora_explain.PL with variable substitutions.
cp ora_explain blib/script/ora_explain
/usr/bin/perl.exe "-MExtUtils::MY" -e "MY->fixin(shift)"
blib/script/ora_explain
Manifying blib/man3/DBD.Oracle.3pm
Manifying blib/man1/ora_explain.1
Manifying blib/man3/DBD.Oraperl.3pm
(****** Output End *******)
$ make test
(****** Here's the output ... *******)
/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/base.......ok

t/general....ok

t/long.......ok

t/ph_type....ok

t/plsql......ok

t/reauth.....skipped
        all skipped: no reason given
All tests successful, 1 test skipped.
Files=6, Tests=281, 19 wallclock secs ( 1.24 cusr +  0.71 csys =  1.95
CPU)
/usr/bin/perl.exe "-Iblib/lib" "-Iblib/arch" test.pl
Oraperl test application $Revision: 1.4 $
dump() better written as CORE::dump() at
/cygdrive/d/Downloads/DBD-Oracle-1.12/blib/lib/Oraperl.pm line 80.

Oraperl emulation interface version 1.41 
DBD::Oracle 1.12 using OCI8 by Tim Bunce
DBI 1.30 by Tim Bunce

Data sources:
        dbi:Oracle:A01DEV
        dbi:Oracle:A02DEV
        dbi:Oracle:BTARP
        dbi:Oracle:EXTPROC_CONNECTION_DATA
        dbi:Oracle:INST1_HTTP
        dbi:Oracle:M01SRV
        dbi:Oracle:MSJDEV
        dbi:Oracle:MSQDEV
        dbi:Oracle:SB9I


Connecting
 to '' (from command line, else uses ORACLE_SID or TWO_TASK -
recommended)
 as 'sbdev/sbdev@sb9i' (via ORACLE_USERID env var or default - recommend
name/passwd@dbname)
(ORACLE_SID='', TWO_TASK='')

Testing internal row fetch overhead.
50000 fetches:  1 wallclock secs ( 0.65 usr +  0.00 sys =  0.65 CPU)
50000 per clock second, 76804 per cpu second

Fields:    6
Names:     'NUM_T'      'DATE_T'        'CHAR_T'        'ROWID_T'
'RAW_T' 'NULL_T'
Lengths:   134  76      31      21      3       1
OraTypes:  2    12      1       104     23      1
SQLTypes:  8    9       12      -9104   -2      12
Scale:     0    0       0       0       0       0
Precision: 126  75      30      20      2       0
Nullable:  1    1       1       1       1       1
Est row width:    46
Data rows:
    fetch: '7.2', '19-NOV-02', 'SBDEV', 'AAAADeAABAAAAZSAAA', '7D',
undef

csr reassigned (forces destruction)...
Fetch list of tables:
Fetched: DUAL
Fetched: SYSTEM_PRIVILEGE_MAP
Fetched: TABLE_PRIVILEGE_MAP
Fetched: STMT_AUDIT_OPTION_MAP
Test ora_do with harmless non-select statement (set transaction read
only)
Expect an 'ORA-01453' error message:
ora_do: 1453: ORA-01453: SET TRANSACTION must be first statement of
transaction (DBD ERROR: OCIStmtExecute)
csr out of scope...
ora_logoff...
lda out of scope...

Testing repetitive connect/open/close/disconnect:
If this test hangs then read the README.help file.
Expect sequence of digits, no other messages:
1 2 3 4 5 

Test interaction of explicit close/logoff and implicit DESTROYs
Expect just 'done.', no other messages:
done.

Testing row cache (5).
Test completed in 0 seconds.

Test complete (1 seconds).
If the tests above have produced the 'expected' output then they have
passed.
(****** Output End *******)
$ make install
(****** Here's the output ... *******)
Manifying blib/man1/ora_explain.1
Installing
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/mk.pm
Installing
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/Oracle
..dll
Installing
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/libOra
cle.dll.a
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Installing
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/DBD/sbtest.pl
Writing
/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/.packl
ist
Appending installation info to
/usr/lib/perl5/5.8.0/cygwin-multi-64int/perllocal.pod
(****** Output End *******)

And that's it !!  I hope this helps someone.

Steve

Reply via email to