2009-12-04 9 views
11

Estoy tratando de instalar DBD::Oracle usando el shell CPAN en Strawberry Perl. Inicialmente experimenté un error porque el Makefile no pudo encontrar una biblioteca OCI, así que instalé el cliente instantáneo de Oracle. Pensé que esto solucionaría el problema, pero ahora recibo una gran mezcla de errores y advertencias de Oracle.h, dbdimp.h, Oracle.c, Oracle.xsi y Oracle.xs.Cómo instalar DBD :: Oracle en Strawberry Perl

¿Alguna sugerencia sobre cómo debo proceder? ¿Es posible que exista un problema con el software Oracle existente en mi computadora? Soy bastante nuevo para Perl, por lo que cualquier ayuda es apreciada.

Editar - Estoy incluyendo toda la producción a continuación:

cpan> install DBD::Oracle 
Database was generated on Fri, 04 Dec 2009 16:12:46 GMT 
Running install for module 'DBD::Oracle' 
Running make for P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz 
Checksum for C:\strawberry\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.23.tar.gz ok 
Scanning cache C:\strawberry\cpan\build for sizes 
...............................................................-------------DONE 

    CPAN.pm: Going to build P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz 

Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 37 
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/ 
Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 61. 

Configuring DBD::Oracle for perl 5.010001 on MSWin32 (MSWin32-x86-multi-thread) 

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

Installing on a MSWin32, Ver#5.1 
Using Oracle in C:/ORACLE/ORA90 
DEFINE _SQLPLUS_RELEASE = "900010001" (CHAR) 
Oracle version 9.0.1.0 (9.0) 
Found oci directory 
Using OCI directory 'oci' 

Checking for functioning wait.ph 


System: perl5.010001 Win32 strawberryperl 5.10.1.0 #1 30 i386 
Compiler: gcc -s -O2 -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_ 
MSVCRT_READFIX 
Linker:  not found 
Sysliblist: 

Checking if your kit is complete... 
Looks good 
LD_RUN_PATH=C:/ORACLE/ORA90/lib:C:/ORACLE/ORA90/rdbms/lib 
Using DBD::Oracle 1.23. 
Using DBD::Oracle 1.23. 
Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 1696 
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/ 
Writing Makefile for DBD::Oracle 

*** If you have problems... 
    read all the log printed above, and the README and README.help.txt files. 
    (Of course, you have read README by now anyway, haven't you?) 

cp Oracle.pm blib\lib\DBD\Oracle.pm 
cp oraperl.ph blib\lib/oraperl.ph 
cp dbdimp.h blib\arch\auto\DBD\Oracle/dbdimp.h 
cp ocitrace.h blib\arch\auto\DBD\Oracle/ocitrace.h 
cp Oraperl.pm blib\lib/Oraperl.pm 
cp Oracle.h blib\arch\auto\DBD\Oracle/Oracle.h 
cp lib/DBD/Oracle/Object.pm blib\lib\DBD\Oracle\Object.pm 
cp mk.pm blib\arch\auto\DBD\Oracle/mk.pm 
cp lib/DBD/Oracle/GetInfo.pm blib\lib\DBD\Oracle\GetInfo.pm 
C:\strawberry\perl\bin\perl.exe -p -e "s/~DRIVER~/Oracle/g" C:\strawberry\perl\site\lib\auto\DBI\Driver.xst > Oracle.xsi 
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap Oracle.xs > 
Oracle.xsc && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" -- Oracle.xsc Oracle.c 
gcc -c -IC:/ORACLE/ORA90/oci/include -IC:/ORACLE/ORA90/rdbms/demo -IC:\strawberry\perl\site\lib\auto\DBI  -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE 
_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2  -DVERSION=\"1.23\" -DXS_VERSION=\ 
"1.23\" "-IC:\strawberry\perl\lib\CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"9.0.1.0\" Oracle.c 
In file included from Oracle.xs:1: 
Oracle.h:37:17: oci.h: No such file or directory 
Oracle.h:39:20: ocidfn.h: No such file or directory 
Oracle.h:40:18: orid.h: No such file or directory 
Oracle.h:41:17: ori.h: No such file or directory 
In file included from Oracle.h:54, 
       from Oracle.xs:1: 
dbdimp.h:16: error: syntax error before "OCIEnv" 
dbdimp.h:16: warning: no semicolon at end of struct or union 
dbdimp.h:23: error: syntax error before '}' token 
dbdimp.h:37: error: syntax error before "OCIEnv" 
dbdimp.h:37: warning: no semicolon at end of struct or union 
dbdimp.h:38: warning: type defaults to `int' in declaration of `errhp' 
dbdimp.h:38: warning: data definition has no type or storage class 
dbdimp.h:39: error: syntax error before '*' token 
dbdimp.h:39: warning: type defaults to `int' in declaration of `srvhp' 
dbdimp.h:39: warning: data definition has no type or storage class 
dbdimp.h:40: error: syntax error before '*' token 
dbdimp.h:40: warning: type defaults to `int' in declaration of `svchp' 
dbdimp.h:40: warning: data definition has no type or storage class 
dbdimp.h:41: error: syntax error before '*' token 
dbdimp.h:41: warning: type defaults to `int' in declaration of `authp' 
dbdimp.h:41: warning: data definition has no type or storage class 
dbdimp.h:51: error: syntax error before '}' token 
dbdimp.h:66: error: syntax error before "OCIEnv" 
dbdimp.h:66: warning: no semicolon at end of struct or union 
dbdimp.h:67: warning: type defaults to `int' in declaration of `errhp' 
dbdimp.h:67: warning: data definition has no type or storage class 
dbdimp.h:68: error: syntax error before '*' token 
dbdimp.h:68: warning: type defaults to `int' in declaration of `srvhp' 
dbdimp.h:68: warning: data definition has no type or storage class 
dbdimp.h:69: error: syntax error before '*' token 
dbdimp.h:69: warning: type defaults to `int' in declaration of `svchp' 
dbdimp.h:69: warning: data definition has no type or storage class 
dbdimp.h:70: error: syntax error before '*' token 
dbdimp.h:70: warning: type defaults to `int' in declaration of `stmhp' 
dbdimp.h:70: warning: data definition has no type or storage class 
dbdimp.h:71: error: syntax error before '*' token 
dbdimp.h:71: warning: type defaults to `int' in declaration of `dschp' 
dbdimp.h:71: warning: data definition has no type or storage class 
dbdimp.h:121: error: syntax error before '}' token 
dbdimp.h:143: error: syntax error before "OCIParam" 
dbdimp.h:143: warning: no semicolon at end of struct or union 
dbdimp.h:144: warning: type defaults to `int' in declaration of `parmap' 
dbdimp.h:144: warning: data definition has no type or storage class 
dbdimp.h:145: error: syntax error before '*' token 
dbdimp.h:145: warning: type defaults to `int' in declaration of `tdo' 
dbdimp.h:145: warning: data definition has no type or storage class 
dbdimp.h:146: error: syntax error before "typecode" 
dbdimp.h:146: warning: type defaults to `int' in declaration of `typecode' 
dbdimp.h:146: warning: data definition has no type or storage class 
dbdimp.h:147: error: syntax error before "col_typecode" 
dbdimp.h:147: warning: type defaults to `int' in declaration of `col_typecode' 
dbdimp.h:147: warning: data definition has no type or storage class 
dbdimp.h:148: error: syntax error before "element_typecode" 
dbdimp.h:148: warning: type defaults to `int' in declaration of `element_typecode' 
dbdimp.h:148: warning: data definition has no type or storage class 
dbdimp.h:149: error: syntax error before '*' token 
dbdimp.h:149: warning: type defaults to `int' in declaration of `obj_ref' 
dbdimp.h:149: warning: data definition has no type or storage class 
dbdimp.h:150: error: syntax error before '*' token 
dbdimp.h:150: warning: type defaults to `int' in declaration of `obj_ind' 
dbdimp.h:150: warning: data definition has no type or storage class 
dbdimp.h:151: error: syntax error before '*' token 
dbdimp.h:151: warning: type defaults to `int' in declaration of `obj_value' 
dbdimp.h:151: warning: data definition has no type or storage class 
dbdimp.h:152: error: syntax error before '*' token 
dbdimp.h:152: warning: type defaults to `int' in declaration of `obj_type' 
dbdimp.h:152: warning: data definition has no type or storage class 
dbdimp.h:159: error: syntax error before '}' token 
dbdimp.h:166: error: syntax error before "OCIParam" 
dbdimp.h:166: warning: no semicolon at end of struct or union 
dbdimp.h:167: warning: type defaults to `int' in declaration of `defnp' 
dbdimp.h:167: warning: data definition has no type or storage class 
dbdimp.h:199: error: syntax error before '}' token 
dbdimp.h:221: error: syntax error before "OCIBind" 
dbdimp.h:221: warning: no semicolon at end of struct or union 
dbdimp.h:238: error: syntax error before '*' token 
dbdimp.h:238: warning: type defaults to `int' in declaration of `array_indicators' 
dbdimp.h:238: warning: data definition has no type or storage class 
dbdimp.h:246: error: conflicting types for 'name' 
dbdimp.h:178: error: previous declaration of 'name' was here 
dbdimp.h:247: error: syntax error before '}' token 
dbdimp.h:284: error: syntax error before "OCILobLocator" 
dbdimp.h:299: error: syntax error before "OCIError" 
dbdimp.h:333: error: syntax error before "OCIBind" 
dbdimp.h:335: error: syntax error before "OCIBind" 
dbdimp.h:338: error: syntax error before "OCIDefine" 
Oracle.c: In function `XS_DBD__Oracle_constant': 
Oracle.c:74: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle_ORA_OCI': 
Oracle.c:108: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle_ora_env_var': 
Oracle.c:131: warning: unused variable `Perl___notused' 
In file included from Oracle.c:179: 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_bind_params': 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:60: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:61: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:65: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:66: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:67: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_fetchall_arrayref': 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:93: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:94: error: dereferencing pointer to incomplete type 
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:101: error: dereferencing pointer to incomplete type 
Oracle.c: In function `XS_DBD__Oracle__dr_dbixs_revision': 
Oracle.c:185: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db__login': 
Oracle.c:278: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectall_arrayref': 
./Oracle.xsi:152: error: dereferencing pointer to incomplete type 
Oracle.c:320: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectrow_arrayref': 
./Oracle.xsi:196: error: dereferencing pointer to incomplete type 
Oracle.c:387: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_commit': 
./Oracle.xsi:275: error: dereferencing pointer to incomplete type 
./Oracle.xsi:275: error: dereferencing pointer to incomplete type 
Oracle.c:549: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_rollback': 
./Oracle.xsi:285: error: dereferencing pointer to incomplete type 
./Oracle.xsi:285: error: dereferencing pointer to incomplete type 
Oracle.c:572: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_disconnect': 
./Oracle.xsi:295: error: dereferencing pointer to incomplete type 
./Oracle.xsi:300: error: dereferencing pointer to incomplete type 
./Oracle.xsi:300: error: dereferencing pointer to incomplete type 
./Oracle.xsi:302: error: dereferencing pointer to incomplete type 
./Oracle.xsi:304: error: dereferencing pointer to incomplete type 
./Oracle.xsi:308: error: dereferencing pointer to incomplete type 
./Oracle.xsi:308: error: dereferencing pointer to incomplete type 
./Oracle.xsi:308: error: dereferencing pointer to incomplete type 
Oracle.c:595: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_STORE': 
./Oracle.xsi:322: error: dereferencing pointer to incomplete type 
Oracle.c:629: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_FETCH': 
./Oracle.xsi:334: error: dereferencing pointer to incomplete type 
Oracle.c:657: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__db_DESTROY': 
./Oracle.xsi:345: error: dereferencing pointer to incomplete type 
./Oracle.xsi:347: error: dereferencing pointer to incomplete type 
./Oracle.xsi:347: error: dereferencing pointer to incomplete type 
./Oracle.xsi:348: error: dereferencing pointer to incomplete type 
./Oracle.xsi:353: error: dereferencing pointer to incomplete type 
./Oracle.xsi:354: error: dereferencing pointer to incomplete type 
./Oracle.xsi:354: error: dereferencing pointer to incomplete type 
./Oracle.xsi:354: error: dereferencing pointer to incomplete type 
./Oracle.xsi:355: error: dereferencing pointer to incomplete type 
./Oracle.xsi:356: error: dereferencing pointer to incomplete type 
./Oracle.xsi:358: error: dereferencing pointer to incomplete type 
./Oracle.xsi:359: error: dereferencing pointer to incomplete type 
./Oracle.xsi:370: error: dereferencing pointer to incomplete type 
./Oracle.xsi:371: error: dereferencing pointer to incomplete type 
./Oracle.xsi:372: error: dereferencing pointer to incomplete type 
./Oracle.xsi:382: error: dereferencing pointer to incomplete type 
./Oracle.xsi:382: error: dereferencing pointer to incomplete type 
./Oracle.xsi:382: error: dereferencing pointer to incomplete type 
Oracle.c:682: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st__prepare': 
Oracle.c:830: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_rows': 
Oracle.c:869: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_bind_param': 
Oracle.c:951: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_bind_param_inout': 
Oracle.c:999: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__st_execute': 
./Oracle.xsi:586: error: dereferencing pointer to incomplete type 
./Oracle.xsi:587: error: dereferencing pointer to incomplete type 
Oracle.c:1053: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_arrayref': 
Oracle.c:1125: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_array': 
Oracle.c:1150: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_fetchall_arrayref': 
Oracle.c:1185: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__st_finish': 
./Oracle.xsi:669: error: dereferencing pointer to incomplete type 
./Oracle.xsi:670: error: dereferencing pointer to incomplete type 
./Oracle.xsi:674: error: dereferencing pointer to incomplete type 
./Oracle.xsi:677: error: dereferencing pointer to incomplete type 
./Oracle.xsi:677: error: dereferencing pointer to incomplete type 
./Oracle.xsi:677: error: dereferencing pointer to incomplete type 
Oracle.c:1226: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_blob_read': 
Oracle.c:1262: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__st_STORE': 
./Oracle.xsi:717: error: dereferencing pointer to incomplete type 
Oracle.c:1306: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__st_FETCH_attrib': 
./Oracle.xsi:734: error: dereferencing pointer to incomplete type 
Oracle.c:1334: warning: unused variable `Perl___notused' 
./Oracle.xsi: In function `XS_DBD__Oracle__st_DESTROY': 
./Oracle.xsi:745: error: dereferencing pointer to incomplete type 
./Oracle.xsi:747: error: dereferencing pointer to incomplete type 
./Oracle.xsi:747: error: dereferencing pointer to incomplete type 
./Oracle.xsi:748: error: dereferencing pointer to incomplete type 
./Oracle.xsi:753: error: dereferencing pointer to incomplete type 
./Oracle.xsi:754: error: dereferencing pointer to incomplete type 
./Oracle.xsi:754: error: dereferencing pointer to incomplete type 
./Oracle.xsi:754: error: dereferencing pointer to incomplete type 
./Oracle.xsi:755: error: dereferencing pointer to incomplete type 
./Oracle.xsi:756: error: dereferencing pointer to incomplete type 
./Oracle.xsi:758: error: dereferencing pointer to incomplete type 
./Oracle.xsi:759: error: dereferencing pointer to incomplete type 
./Oracle.xsi:760: error: dereferencing pointer to incomplete type 
./Oracle.xsi:768: error: dereferencing pointer to incomplete type 
./Oracle.xsi:768: error: dereferencing pointer to incomplete type 
./Oracle.xsi:768: error: dereferencing pointer to incomplete type 
Oracle.c:1362: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type': 
Oracle.xs:105: error: dereferencing pointer to incomplete type 
Oracle.c:1418: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type_name': 
Oracle.xs:114: error: dereferencing pointer to incomplete type 
Oracle.c:1443: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_scroll_position': 
Oracle.xs:127: error: dereferencing pointer to incomplete type 
Oracle.c:1470: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch_scroll': 
Oracle.xs:140: error: dereferencing pointer to incomplete type 
Oracle.xs:141: error: dereferencing pointer to incomplete type 
Oracle.c:1495: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_ora_bind_param_inout_array': 
Oracle.c:1526: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch': 
Oracle.xs:189: error: dereferencing pointer to incomplete type 
Oracle.xs:189: error: dereferencing pointer to incomplete type 
Oracle.xs:189: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: warning: left-hand operand of comma expression has no effect 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: warning: left-hand operand of comma expression has no effect 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: error: dereferencing pointer to incomplete type 
Oracle.xs:192: warning: left-hand operand of comma expression has no effect 
Oracle.xs:196: error: dereferencing pointer to incomplete type 
Oracle.xs:198: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:217: error: dereferencing pointer to incomplete type 
Oracle.xs:219: error: dereferencing pointer to incomplete type 
Oracle.xs:219: error: dereferencing pointer to incomplete type 
Oracle.c:1572: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__st_ora_execute_array': 
Oracle.xs:234: error: dereferencing pointer to incomplete type 
Oracle.xs:235: error: dereferencing pointer to incomplete type 
Oracle.c:1631: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__st_cancel': 
Oracle.c:1678: warning: unused variable `Perl___notused' 
Oracle.xs: In function `XS_DBD__Oracle__db_ora_ping': 
Oracle.xs:273: warning: implicit declaration of function `OCIServerVersion' 
Oracle.xs:273: error: dereferencing pointer to incomplete type 
Oracle.xs:273: error: dereferencing pointer to incomplete type 
Oracle.xs:273: error: `OCI_HTYPE_SVCCTX' undeclared (first use in this function) 
Oracle.xs:273: error: (Each undeclared identifier is reported only once 
Oracle.xs:273: error: for each function it appears in.) 
Oracle.xs:273: error: dereferencing pointer to incomplete type 
Oracle.xs:274: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.c:1699: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_reauthenticate': 
Oracle.c:1736: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_write': 
Oracle.c:1767: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:1767: error: `locator' undeclared (first use in this function) 
Oracle.c:1782: error: syntax error before ')' token 
Oracle.xs:307: error: `SQLCS_IMPLICIT' undeclared (first use in this function) 
Oracle.xs:314: warning: implicit declaration of function `OCILobCharSetForm' 
Oracle.xs:314: error: dereferencing pointer to incomplete type 
Oracle.xs:314: error: dereferencing pointer to incomplete type 
Oracle.xs:314: error: dereferencing pointer to incomplete type 
Oracle.xs:314: error: dereferencing pointer to incomplete type 
Oracle.xs:315: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:316: error: dereferencing pointer to incomplete type 
Oracle.xs:330: error: `SQLCS_NCHAR' undeclared (first use in this function) 
Oracle.xs:332: warning: implicit declaration of function `OCILobWrite' 
Oracle.xs:332: error: dereferencing pointer to incomplete type 
Oracle.xs:332: error: dereferencing pointer to incomplete type 
Oracle.xs:332: error: `OCI_ONE_PIECE' undeclared (first use in this function) 
Oracle.xs:332: error: dereferencing pointer to incomplete type 
Oracle.xs:332: error: dereferencing pointer to incomplete type 
Oracle.xs:338: error: dereferencing pointer to incomplete type 
Oracle.c:1759: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_append': 
Oracle.c:1845: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:1845: error: `locator' undeclared (first use in this function) 
Oracle.c:1862: error: syntax error before ')' token 
Oracle.xs:363: error: `SQLCS_IMPLICIT' undeclared (first use in this function) 
Oracle.xs:370: error: dereferencing pointer to incomplete type 
Oracle.xs:370: error: dereferencing pointer to incomplete type 
Oracle.xs:370: error: dereferencing pointer to incomplete type 
Oracle.xs:370: error: dereferencing pointer to incomplete type 
Oracle.xs:371: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:372: error: dereferencing pointer to incomplete type 
Oracle.xs:386: error: `SQLCS_NCHAR' undeclared (first use in this function) 
Oracle.xs:387: warning: implicit declaration of function `OCILobWriteAppend' 
Oracle.xs:387: error: dereferencing pointer to incomplete type 
Oracle.xs:387: error: dereferencing pointer to incomplete type 
Oracle.xs:387: error: `OCI_ONE_PIECE' undeclared (first use in this function) 
Oracle.xs:387: error: dereferencing pointer to incomplete type 
Oracle.xs:387: error: dereferencing pointer to incomplete type 
Oracle.xs:392: error: dereferencing pointer to incomplete type 
Oracle.xs:357: warning: unused variable `startp' 
Oracle.c:1837: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_read': 
Oracle.c:1923: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:1923: error: `locator' undeclared (first use in this function) 
Oracle.c:1938: error: syntax error before ')' token 
Oracle.xs:417: error: `SQLCS_IMPLICIT' undeclared (first use in this function) 
Oracle.xs:427: error: dereferencing pointer to incomplete type 
Oracle.xs:427: error: dereferencing pointer to incomplete type 
Oracle.xs:427: error: dereferencing pointer to incomplete type 
Oracle.xs:427: error: dereferencing pointer to incomplete type 
Oracle.xs:428: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:429: error: dereferencing pointer to incomplete type 
Oracle.xs:433: warning: implicit declaration of function `OCILobRead' 
Oracle.xs:433: error: dereferencing pointer to incomplete type 
Oracle.xs:433: error: dereferencing pointer to incomplete type 
Oracle.xs:433: error: dereferencing pointer to incomplete type 
Oracle.xs:433: error: dereferencing pointer to incomplete type 
Oracle.xs:438: error: dereferencing pointer to incomplete type 
Oracle.xs:445: error: `SQLCS_NCHAR' undeclared (first use in this function) 
Oracle.c:1915: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_trim': 
Oracle.c:1997: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:1997: error: `locator' undeclared (first use in this function) 
Oracle.c:2006: error: syntax error before ')' token 
Oracle.xs:461: warning: implicit declaration of function `OCILobTrim' 
Oracle.xs:461: error: dereferencing pointer to incomplete type 
Oracle.xs:461: error: dereferencing pointer to incomplete type 
Oracle.xs:461: error: dereferencing pointer to incomplete type 
Oracle.xs:461: error: dereferencing pointer to incomplete type 
Oracle.xs:462: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:463: error: dereferencing pointer to incomplete type 
Oracle.c:1989: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_length': 
Oracle.c:2039: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:2039: error: `locator' undeclared (first use in this function) 
Oracle.c:2048: error: syntax error before ')' token 
Oracle.xs:479: warning: implicit declaration of function `OCILobGetLength' 
Oracle.xs:479: error: dereferencing pointer to incomplete type 
Oracle.xs:479: error: dereferencing pointer to incomplete type 
Oracle.xs:479: error: dereferencing pointer to incomplete type 
Oracle.xs:479: error: dereferencing pointer to incomplete type 
Oracle.xs:480: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:481: error: dereferencing pointer to incomplete type 
Oracle.c:2031: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_chunk_size': 
Oracle.c:2081: error: `OCILobLocator' undeclared (first use in this function) 
Oracle.c:2081: error: `locator' undeclared (first use in this function) 
Oracle.c:2090: error: syntax error before ')' token 
Oracle.xs:498: warning: implicit declaration of function `OCILobGetChunkSize' 
Oracle.xs:498: error: dereferencing pointer to incomplete type 
Oracle.xs:498: error: dereferencing pointer to incomplete type 
Oracle.xs:498: error: dereferencing pointer to incomplete type 
Oracle.xs:498: error: dereferencing pointer to incomplete type 
Oracle.xs:499: error: `OCI_SUCCESS' undeclared (first use in this function) 
Oracle.xs:500: error: dereferencing pointer to incomplete type 
Oracle.c:2073: warning: unused variable `Perl___notused' 
Oracle.c: In function `XS_DBD__Oracle__dr_init_oci': 
Oracle.c:2115: warning: unused variable `Perl___notused' 
Oracle.c: In function `boot_DBD__Oracle': 
Oracle.c:2157: error: `OCI_FETCH_RELATIVE' undeclared (first use in this function) 
Oracle.c:2171: error: `OCI_FETCH_FIRST' undeclared (first use in this functio 
+3

El error que muestran básicamente sólo dice que que la compilación falló; los errores/advertencias * antes * que dirán por qué. – ysth

Respuesta

4

DBD :: Oracle es notoriamente difícil de compilar, multiplicado por Windows, y es mejor que no lo haga si puede evitarlo. Desafortunadamente ActiveState does not supply a PPM for it for licensing reasons ni tampoco el otro PPM repositories lo miré. Aunque se rumorea que ActivePerl 5.10.0.1003 comes with DBD-Oracle.

Si su servidor Oracle es compatible con ODBC, puede hablar utilizando DBD::ODBC.

Si quieres probar, aquí hay algunos special instructions for installing DBD::Oracle on Strawberry Perl que pueden ser de ayuda.

+0

Seguí tu sugerencia sobre el uso de ODBC. Establecí con éxito una fuente de datos ODBC en Windows y usé DBD :: ODBC para conectarme a la base de datos.¡Gracias! – indiguy

+0

No es un rumor. Y acabo de utilizar ppm de ActiveState para actualizar a DBD-Oracle 1.23. – runrig

+0

Aunque no sé por qué no aparece en UWinn: http://cpan.uwinnipeg.ca/search?query=dbd-oracle&mode=dist – runrig

2

Si usted no tiene toda la fuente de Oracle (* .h, * .c) archivos, puede instalar DBD :: Oracle a través de ppm, al igual que ActiveState. O copie los archivos de la biblioteca de la distribución de ActiveState.

+1

Un gran consejo ... después de luchar con durante una hora, solo necesitaba ppm instalar http://trouchelle.com/ppm10/unstable/DBD-Oracle.ppd – Pat

+0

Lo conseguí trabajando usando esto: http: // garygoog .wordpress.com/2011/04/02/easy-way-to-install-dbdoracle-for-strawberry-perl/ – Richard

2

Documenté lo que funcionó para mí en Win32 here en mi blog. En realidad, todo fue bien, excepto que el proceso de creación de DBI no detectó correctamente la versión de Oracle Client instalada. Un pequeño descifrado del archivo make y vi que había un parámetro para especificar explícitamente la versión. Tuve que ejecutar los comandos make e instalar manualmente, pero todo funcionó.

Intenté utilizar algunos módulos precompilados, pero fueron compilados con una versión específica de Strawberry Perl en mente. Creo que encontré un DBI 5.12 compilado para Oracle y se quejó cuando traté de usarlo con el último 5.16 Strawberry Perl, así que es por eso que fui a la ruta de compilación manual.

A partir de ahora probablemente solo copie mi c: \ perl directorio binario a otras máquinas lo necesito, establezca las variables de entorno y rodar con él.

1

Strawberry Perl 5.20 (desde mayo de 2014) se envía con DBD :: Oracle, siempre y cuando instale la versión de Instantclient 11.x, funciona de la caja. Ver http://strawberryperl.com/release-notes/5.20.0.1-64bit.html

recién añadido DBD :: Oracle - usted tiene que instalar Oracle de 64 bits 11.x cliente instantáneo y asegúrese de que tiene OCI.DLL en su PATH

Cuestiones relacionadas