Found the fix for the t/10gen.t exit code tests in the README.help.txt under
"repetitive connect/open/close/disconnect" tests
However still no luck with my initial test 'VARRAY of abstract data types',
it's still returning

DBD::Oracle::db prepare failed: ORA-24334: no descriptor for this position
(DBD ERROR: OCIParamGet)

Output of latest make test with t/10gen.t passing

ux11:/home/bmpe/bmpadme/DBD-Oracle-1.21 > make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01base................ok

t/10general.............ok

t/12impdata.............ok

t/14threads.............ok

t/15nls.................ok

t/20select..............ok

t/21nchar............... Database and client versions and character sets:
Database 9.2.0.8.0 CHAR set is US7ASCII (Non-Unicode), NCHAR set is
AL16UTF16 (Unicode)
Client 10.2.0.4 NLS_LANG is '<unset>', NLS_NCHAR is '<unset>'
t/21nchar...............ok

t/22nchar_al32utf8......ok

t/22nchar_utf8..........ok

t/23wide_db.............skipped
        all skipped: Database character set is not Unicode
t/23wide_db_8bit........skipped
        all skipped: Database character set is not Unicode
t/23wide_db_al32utf8....skipped
        all skipped: Database character set is not Unicode
t/24implicit_utf8.......ok

t/25plsql...............ok 42/82(DBI::errstr undefined)

t/25plsql...............FAILED test 43

        Failed 1/82 tests, 98.78% okay
t/26exe_array...........ok

t/28array_bind..........ok

t/30long................ok

        122/470 skipped: various reasons
t/31lob.................ok

t/32xmltype.............ok

t/34pres_lobs...........ok

t/40ph_type.............ok 3/19 Placeholder behaviour for ora_type=1 (the
default) varies with Oracle version.
 Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
 Your system doesn't. If that seems odd, let us know.
t/40ph_type.............ok

t/50cursor..............ok

t/51scroll..............ok

t/55nested..............ok

t/56embbeded............ok

t/60reauth..............ORACLE_USERID_2 not defined.  Tests skipped.
skipped
        all skipped: no reason given
t/70meta................ok

t/80ora_charset.........NOK 9#     Failed test (t/80ora_charset.t at line
83)
#          got: '?'
#     expected: '°'
#     Failed test (t/80ora_charset.t at line 84)
t/80ora_charset.........NOK 10#          got: '?'

#     expected: '°'
t/80ora_charset.........ok 12/14#     Failed test (t/80ora_charset.t at line
83)
t/80ora_charset.........NOK 13#          got: '?'

#     expected: '°'
#     Failed test (t/80ora_charset.t at line 84)
#          got: '?'
t/80ora_charset.........NOK 14#     expected: '°'

# Looks like you failed 4 tests of 14.
t/80ora_charset.........dubious

        Test returned status 4 (wstat 1024, 0x400)
DIED. FAILED tests 9-10, 13-14
        Failed 4/14 tests, 71.43% okay
Failed Test       Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/25plsql.t                     82    1   1.22%  43
t/80ora_charset.t    4  1024    14    4  28.57%  9-10 13-14
4 tests and 122 subtests skipped.
Failed 2/28 test scripts, 92.86% okay. 5/2033 subtests failed, 99.75% okay.
make: *** [test_dynamic] Error 2


On Mon, Apr 6, 2009 at 9:18 AM, Jamie Nicholson
<[email protected]>wrote:

> I removed the line from dbdimp and no luck
>
> > dbdimp.c:3269: warning: unused variable `sv2
>
> Also I investigated the funny return codes being returned in t/10gen.t.
> Firstly I wrote a seperate script and the results were as expected
>
> Then I found that if I put the test before this line it would also work -
> *
> line 20: my $dbh = DBI->connect($dsn, $dbuser, '');
> *
> If I put the test after this line it wouldn't work and started returning
> unexpected results
> What would the DBI connect be doing that would upset the exit status, very
> strange.
>
> Then I tried rewritting the Line20 DBI connect to use the following format
> my $dbh =
> DBI->connect("dbi:Oracle:host=$oracleHost;sid=$oracleDbId",$oracleUser,$oraclePass,
>
>                     {RaiseError =>0 ,AutoCommit =>0})
>
> And the test then worked successfully......
>
>
>
> On Sun, Apr 5, 2009 at 10:48 AM, <[email protected]> wrote:
>
>> > Thanks John, if you need me to run any debugging on Solaris or anything
>> > let
>> > me know.
>> > I would suspect also that it is OS related.
>> >
>> > On the premise instant client and also tried to run perl Makefile.PL -V
>> > 9.2
>> > & with -v 10.2.0.4
>> >
>> > The only thing that is out of place is this compile a warning is thrown
>> > when
>> > the make command is run
>> >
>> > gcc -c  -I/home/bmpe/bmpadme/instantclient_10_2/sdk/include
>> > -I/opt/perl586/lib/site_perl/5.8.6/sun4-solaris-thread-multi/auto/DBI
>> > -D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include
>> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.21\"
>> > -DXS_VERSION=\"1.21\" -fPIC
>> > "-I/opt/perl586/lib/5.8.6/sun4-solaris-thread-multi/CORE"  -Wall
>> > -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
>> -DORA_OCI_VERSION=\"10.2.0.4\"
>> > dbdimp.c
>> > dbdimp.c: In function `ora_st_execute_array':
>> > dbdimp.c:3269: warning: unused variable `sv2'
>> >
>> > Full output of the make,
>> >
>> Not sure if that would be the culperate.  If I remember correctly I
>> removed it in 1.22 as it was a memory leak source.  Try getting rid of it
>> and see what happens?
>>
>>
>> > ux11:/home/bmpe/bmpadme/DBD-Oracle-1.21 > make
>> > Skip blib/lib/DBD/Oracle.pm (unchanged)
>> > Skip blib/lib/DBD/mkta.pl (unchanged)
>> > Skip blib/lib/oraperl.ph (unchanged)
>> > Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
>> > Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
>> > Skip blib/lib/Oraperl.pm (unchanged)
>> > Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
>> > cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
>> > Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
>> > gcc -c  -I/home/bmpe/bmpadme/instantclient_10_2/sdk/include
>> > -I/opt/perl586/lib/site_perl/5.8.6/sun4-solaris-thread-multi/auto/DBI
>> > -D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include
>> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.21\"
>> > -DXS_VERSION=\"1.21\" -fPIC
>> > "-I/opt/perl586/lib/5.8.6/sun4-solaris-thread-multi/CORE"  -Wall
>> > -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
>> -DORA_OCI_VERSION=\"10.2.0.4\"
>> > DBD_ORA_OBJ.c
>> > gcc -c  -I/home/bmpe/bmpadme/instantclient_10_2/sdk/include
>> > -I/opt/perl586/lib/site_perl/5.8.6/sun4-solaris-thread-multi/auto/DBI
>> > -D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include
>> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.21\"
>> > -DXS_VERSION=\"1.21\" -fPIC
>> > "-I/opt/perl586/lib/5.8.6/sun4-solaris-thread-multi/CORE"  -Wall
>> > -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
>> -DORA_OCI_VERSION=\"10.2.0.4\"
>> > Oracle.c
>> > *gcc -c  -I/home/bmpe/bmpadme/instantclient_10_2/sdk/include
>> > -I/opt/perl586/lib/site_perl/5.8.6/sun4-solaris-thread-multi/auto/DBI
>> > -D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include
>> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.21\"
>> > -DXS_VERSION=\"1.21\" -fPIC
>> > "-I/opt/perl586/lib/5.8.6/sun4-solaris-thread-multi/CORE"  -Wall
>> > -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
>> -DORA_OCI_VERSION=\"10.2.0.4\"
>> > dbdimp.c
>> > dbdimp.c: In function `ora_st_execute_array':
>> > dbdimp.c:3269: warning: unused variable `sv2'*
>> > gcc -c  -I/home/bmpe/bmpadme/instantclient_10_2/sdk/include
>> > -I/opt/perl586/lib/site_perl/5.8.6/sun4-solaris-thread-multi/auto/DBI
>> > -D_REENTRANT -fno-strict-aliasing -pipe -I/usr/local/include
>> > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O   -DVERSION=\"1.21\"
>> > -DXS_VERSION=\"1.21\" -fPIC
>> > "-I/opt/perl586/lib/5.8.6/sun4-solaris-thread-multi/CORE"  -Wall
>> > -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT
>> -DORA_OCI_VERSION=\"10.2.0.4\"
>> > oci8.c
>> > Running Mkbootstrap for DBD::Oracle ()
>> > chmod 644 Oracle.bs
>> > rm -f blib/arch/auto/DBD/Oracle/Oracle.so
>> > LD_RUN_PATH="/home/bmpe/bmpadme/instantclient_10_2" gcc  -G
>> > -L/usr/local/lib
>> > DBD_ORA_OBJ.o Oracle.o dbdimp.o oci8.o  -o
>> > blib/arch/auto/DBD/Oracle/Oracle.so
>> > -L/home/bmpe/bmpadme/instantclient_10_2 -lclntsh
>> > chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
>> > cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
>> > chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
>> > cp ora_explain blib/script/ora_explain
>> > /usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)"
>> > blib/script/ora_explain
>> > Manifying blib/man1/ora_explain.1
>> > Manifying blib/man3/DBD::Oracle.3
>> > Manifying blib/man3/DBD::Oraperl.3
>> >
>> >
>> > On Sun, Apr 5, 2009 at 8:05 AM, <[email protected]> wrote:
>> >
>> >> I tested it and I got the correct values back
>> >> Looking at the error you are now getting in 10gen that is an OS related
>> >> error This is the basic check that we can fork subprocesses and wait
>> for
>> >> the status after having connected to Oracle
>> >>
>> >> It is only suppose to run on solaris if the oci is gt 9.
>> >>
>> >> In  your case this is true but your DB is 9.2 which leads me to thing
>> it
>> >> is the combination of 9.2 db and solaris that is the root cause.
>> >>
>> >> You might not have a work around for this.  I am able to get this to
>> >> work
>> >> on windos and linux without any problem
>> >>
>> >> I will look a little further though.
>> >>
>> >> Cheers
>> >> John Scoles
>> >>
>> >>
>> >> > Have been trying to get a good install all day for DBD 1.21 / DBD1.22
>> >> on
>> >> > Solaris 5.8, it installs now.
>> >> > However it still fails on the TEST_ORA table.
>> >> >
>> >> > As I said I tried it on my Windows box using Activestate/ppm which
>> >> queried
>> >> > the TEST_ORA table successfully
>> >> >
>> >> > The latest Solaris build I used was as follows
>> >> >
>> >> > instantclient-*10.2.0.4.0* 32bit* - this seems to be the version of
>> >> > instant
>> >> > client that works*
>> >> > perl, v5.8.6 built for sun4-solaris-thread-multi
>> >> > SunOS 5.8
>> >> > Oracle 9.2.0.8.0
>> >> > DBD 1.21
>> >> >
>> >> > After running a sucessful perl Makefile.PL, make, then make test I
>> >> read
>> >> > the
>> >> > following post by John
>> >> >
>> >> > http://www.nntp.perl.org/group/perl.dbi.users/2008/06/msg32950.html
>> >> >
>> >> > I then ran the make install and re-tried my sample test but still the
>> >> > issue
>> >> > occurs, otherwsise standard SQL works fine.
>> >> >
>> >> > DBD::Oracle::db prepare failed: ORA-24334: no descriptor for this
>> >> position
>> >> > (DBD ERROR: OCIParamGet) [for Statement "select * from TEST_ORA"] at
>> >> > ./popAMAError.pl line 34.
>> >> >
>> >> > The output from Make test
>> >> >
>> >> >
>> >> > PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
>> >> > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> >> > t/01base................ok
>> >> >
>> >> > t/10general.............#     Failed test (t/10general.t at line 36)
>> >> > t/10general.............NOK 1#          got: '-1'
>> >> >
>> >> > #     expected: '256'
>> >> > #     Failed test (t/10general.t at line 37)
>> >> > #          got: '-1'
>> >> > #     expected: '0'
>> >> > t/10general.............ok 33/33# Looks like you failed 2 tests of
>> 33.
>> >> >
>> >> > t/10general.............dubious
>> >> >
>> >> >         Test returned status 2 (wstat 512, 0x200)
>> >> > DIED. FAILED tests 1-2
>> >> >         Failed 2/33 tests, 93.94% okay
>> >> > t/12impdata.............ok
>> >> >
>> >> > t/14threads.............ok
>> >> >
>> >> > t/15nls.................ok
>> >> >
>> >> > t/20select..............ok
>> >> >
>> >> > t/21nchar............... Database and client versions and character
>> >> sets:
>> >> > Database 9.2.0.8.0 CHAR set is US7ASCII (Non-Unicode), NCHAR set is
>> >> > AL16UTF16 (Unicode)
>> >> > Client 10.2.0.4 NLS_LANG is '<unset>', NLS_NCHAR is '<unset>'
>> >> > t/21nchar...............ok
>> >> >
>> >> > t/22nchar_al32utf8......ok
>> >> >
>> >> > t/22nchar_utf8..........ok
>> >> >
>> >> > t/23wide_db.............skipped
>> >> >         all skipped: Database character set is not Unicode
>> >> > t/23wide_db_8bit........skipped
>> >> >         all skipped: Database character set is not Unicode
>> >> > t/23wide_db_al32utf8....skipped
>> >> >         all skipped: Database character set is not Unicode
>> >> > t/24implicit_utf8.......ok
>> >> >
>> >> > t/25plsql...............ok 42/82(DBI::errstr undefined)
>> >> >
>> >> > t/25plsql...............FAILED test 43
>> >> >
>> >> >         Failed 1/82 tests, 98.78% okay
>> >> > t/26exe_array...........ok
>> >> >
>> >> > t/28array_bind..........ok
>> >> >
>> >> > t/30long................ok
>> >> >
>> >> >         122/470 skipped: various reasons
>> >> > t/31lob.................ok
>> >> >
>> >> > t/32xmltype.............ok
>> >> >
>> >> > t/34pres_lobs...........ok
>> >> >
>> >> > t/40ph_type.............ok 3/19 Placeholder behaviour for ora_type=1
>> >> (the
>> >> > default) varies with Oracle version.
>> >> >  Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
>> >> >  Your system doesn't. If that seems odd, let us know.
>> >> > t/40ph_type.............ok
>> >> >
>> >> > t/50cursor..............ok
>> >> >
>> >> > t/51scroll..............ok
>> >> >
>> >> > t/55nested..............ok
>> >> >
>> >> > t/56embbeded............ok
>> >> >
>> >> > t/60reauth..............ORACLE_USERID_2 not defined.  Tests skipped.
>> >> > skipped
>> >> >         all skipped: no reason given
>> >> > t/70meta................ok
>> >> >
>> >> > t/80ora_charset.........ok 8/14#     Failed test (t/80ora_charset.t
>> at
>> >> > line
>> >> > 83)
>> >> > #          got: '?'
>> >> > #     expected: '°'
>> >> > t/80ora_charset.........NOK 9#     Failed test (t/80ora_charset.t at
>> >> line
>> >> > 84)
>> >> > #          got: '?'
>> >> > #     expected: '°'
>> >> > t/80ora_charset.........ok 12/14#     Failed test (t/80ora_charset.t
>> >> at
>> >> > line
>> >> > 83)
>> >> > #          got: '?'
>> >> > #     expected: '°'
>> >> > t/80ora_charset.........NOK 13#     Failed test (t/80ora_charset.t at
>> >> line
>> >> > 84)
>> >> > t/80ora_charset.........NOK 14#          got: '?'
>> >> >
>> >> > #     expected: '°'
>> >> > # Looks like you failed 4 tests of 14.
>> >> > t/80ora_charset.........dubious
>> >> >
>> >> >         Test returned status 4 (wstat 1024, 0x400)
>> >> > DIED. FAILED tests 9-10, 13-14
>> >> >         Failed 4/14 tests, 71.43% okay
>> >> > Failed Test       Stat Wstat Total Fail  Failed  List of Failed
>> >> >
>> >>
>> -------------------------------------------------------------------------------
>> >> > t/10general.t        2   512    33    2   6.06%  1-2
>> >> > t/25plsql.t                     82    1   1.22%  43
>> >> > t/80ora_charset.t    4  1024    14    4  28.57%  9-10 13-14
>> >> > 4 tests and 122 subtests skipped.
>> >> > Failed 3/28 test scripts, 89.29% okay. 7/2033 subtests failed, 99.66%
>> >> > okay.
>> >> > make: *** [test_dynamic] Error 2
>> >> >
>> >> >
>> >> > On Fri, Apr 3, 2009 at 11:46 AM, Jamie Nicholson
>> >> > <[email protected]>wrote:
>> >> >
>> >> >> Tried this using Oracle 1.21 on my Windoze PC and it works.
>> >> >> Looks like I'm off to upgrade the Oracle Client as per option 2 in
>> >> this
>> >> >> archive
>> >> >>
>> >> >> http://www.nntp.perl.org/group/perl.dbi.users/2008/04/msg32777.html
>> >> >>
>> >> >
>> >>
>> >>
>> >
>>
>>

Reply via email to