2009-12-04 9 views
11

Próbuję zainstalować DBD::Oracle przy użyciu powłoki CPAN w Strawberry Perl. Początkowo wystąpił błąd, ponieważ Makefile nie mógł zlokalizować biblioteki OCI, więc zainstalowałem klienta natychmiastowego z Oracle. Pomyślałem, że to rozwiąże problem, ale teraz dostaję dużą mieszankę błędów i ostrzeżeń od Oracle.h, dbdimp.h, Oracle.c, Oracle.xsi i Oracle.xs.Jak zainstalować DBD :: Oracle w Strawberry Perl

Jakieś sugestie dotyczące sposobu postępowania? Czy jest możliwe, że istnieje problem z istniejącym oprogramowaniem Oracle na moim komputerze? Jestem całkiem nowy w Perlu, więc każda pomoc jest doceniana.

Edit - Jestem w tym całym wyjściu poniżej:

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

Błąd można pokazać w zasadzie mówi tylko, że kompilacja nie powiodła się; błędy/ostrzeżenia * przed *, które powiedzą dlaczego. – ysth

Odpowiedz

4

DBD :: Oracle jest bardzo trudne do skompilowania, pomnożone przez system Windows, a lepiej nie rób tego, jeśli możesz tego uniknąć. Niestety ActiveState does not supply a PPM for it for licensing reasons ani inne PPM repositories przejrzałem. Chociaż jego plotka głosi, że ActivePerl 5.10.0.1003 comes with DBD-Oracle.

Jeśli twój serwer Oracle obsługuje ODBC, możesz z nim rozmawiać za pomocą DBD::ODBC.

Jeśli chcesz spróbować, oto niektóre z nich: special instructions for installing DBD::Oracle on Strawberry Perl, które mogą być pomocne.

+0

Podążyłem za twoją sugestią dotyczącą używania ODBC. Udało mi się skonfigurować źródło danych ODBC w systemie Windows i użyć DBD :: ODBC do połączenia z bazą danych.Dzięki! – indiguy

+0

To nie jest plotka. Właśnie wykorzystałem ppm programu ActiveState, aby zaktualizować go do DBD-Oracle 1.23. – runrig

+0

Chociaż nie wiem, dlaczego nie ma go na UWinn: http://cpan.uwinnipeg.ca/search?query=dbd-oracle&mode=dist – runrig

2

Jeśli nie masz wszystkie źródła Oracle (* .h, * .c) Pliki można zainstalować DBD :: Oracle za pomocą ppm, podobnie jak ActiveState. Lub skopiuj pliki biblioteki z dystrybucji ActiveState.

+1

Świetna wskazówka ... po walce z nią przez godzinę potrzebowałem tylko ppm instalacji http://trouchelle.com/ppm10/unstable/DBD-Oracle.ppd – Pat

+0

Mam to działające, używając tego: http: // garygoog .wordpress.com/2011/04/02/easy-way-to-install-dbdoracle-for-strawberry-perl/ – Richard

2

Udokumentowałem, co działało dla mnie na Win32 here na moim blogu. W rzeczywistości wszystko poszło gładko, z tym że proces tworzenia DBI nie wykrył poprawnie mojej zainstalowanej wersji klienta Oracle. Trochę odszyfrowania pliku make i zobaczyłem, że istnieje parametr do jawnego określenia wersji. Musiałem ręcznie uruchamiać polecenia make i install, ale wszystko się udało.

Próbowałem użyć wstępnie skompilowanych modułów, ale zostały one skompilowane z myślą o konkretnej wersji Strawberry Perl. Wydaje mi się, że znalazłem skompilowany plik DBI 5.12 dla Oracle i narzekałem, gdy próbowałem go używać z najnowszym Perp truskawkowym 5.16, dlatego poszedłem na ręczną trasę budowy.

Odtąd prawdopodobnie po prostu skopiuję mój katalog binarny c: \ perl do innych maszyn, potrzebuję go, ustaw zmienne środowiskowe i przetasuj.

1

Truskawkowy Perl 5.20 (od maja 2014) jest dostarczany z DBD :: Oracle, o ile zainstalujesz wersję InstantClient 11.x, która działa po wyjęciu z pudełka. Zobacz http://strawberryperl.com/release-notes/5.20.0.1-64bit.html

Nowo dodane DBD :: Oracle - trzeba zainstalować 64bit Oracle Instant Client 11.x i upewnij się, że oci.dll w PATH

Powiązane problemy