2009-12-04 5 views
11

Я пытаюсь установить DBD::Oracle с использованием оболочки CPAN в Strawberry Perl. Первоначально у меня возникла ошибка, потому что Makefile не смог найти библиотеку OCI, поэтому я установил мгновенный клиент из Oracle. Я думал, что это решит проблему, но теперь я получаю большое количество ошибок и предупреждений от Oracle.h, dbdimp.h, Oracle.c, Oracle.xsi и Oracle.xs.Как установить DBD :: Oracle в Strawberry Perl

Любые предложения относительно того, как я должен действовать? Возможно ли, что на моем компьютере существует проблема с существующим программным обеспечением Oracle? Я довольно новичок в Perl, поэтому любая помощь приветствуется.

Редактировать - я в том числе всей продукции ниже:

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

Ошибка вы показываете в основном только говорит, что что компиляция не удалась; ошибки/предупреждения * до *, которые скажут почему. – ysth

ответ

4

DBD :: Oracle, как известно, сложно скомпилировать, умножить на Windows, и вам лучше не делать этого, если вы можете этого избежать. К сожалению, ActiveState does not supply a PPM for it for licensing reasons и другие PPM repositories Я просмотрел. Хотя ходят слухи, что ActivePerl 5.10.0.1003 comes with DBD-Oracle.

Если ваш сервер Oracle поддерживает ODBC, вы можете поговорить с ним, используя DBD::ODBC.

Если вы хотите попробовать, вот некоторые special instructions for installing DBD::Oracle on Strawberry Perl, которые могут принести вам помощь.

+0

Я следил за вашим предложением об использовании ODBC. Я успешно настроил источник данных ODBC в Windows и использовал DBD :: ODBC для подключения к базе данных.Благодаря! – indiguy

+0

Это не слухи. И я просто использовал ppm для ActiveState для обновления до DBD-Oracle 1.23. – runrig

+0

Хотя я не знаю, почему он не указан в UWinn: http://cpan.uwinnipeg.ca/search?query=dbd-oracle&mode=dist – runrig

2

Если вы не имеете все источника Oracle (* .h, * .c) файлы, вы можете установить DBD :: Oracle через ppm, как и ActiveState. Или скопируйте файлы библиотеки из дистрибутива ActiveState.

+1

Отличный совет ... после битвы в течение часа, мне просто нужно было ppm install http://trouchelle.com/ppm10/unstable/DBD-Oracle.ppd – Pat

+0

Я получил его, используя это: http: // garygoog .wordpress.com/2011/04/02/easy-way-to-install-dbdoracle-for-strawberry-perl/ – Richard

2

Я зарегистрировал то, что сработало для меня на Win32 here в моем блоге. На самом деле все прошло гладко, за исключением того, что процесс создания DBI не обнаружил мою установленную версию Oracle Client правильно. Небольшая расшифровка файла make и я увидел, что есть параметр, чтобы явно указать версию. Мне пришлось запускать команды make и install вручную, но все это сработало.

Я попытался использовать некоторые предварительно скомпилированные модули, но они были скомпилированы с конкретной версией Strawberry Perl. Я думаю, что нашел 5.12 скомпилированный DBI для Oracle, и он жаловался, когда я пытался использовать его с последним 5.16 Strawberry Perl, поэтому я пошел по пути ручной сборки.

Оттуда я, скорее всего, просто скопирую двоичный каталог c: \ perl на другие машины, в которых я нуждаюсь, задайте переменные окружения и рулон с ним.

1

Strawberry Perl 5.20 (с мая 2014 года) поставляется с DBD :: Oracle, если вы устанавливаете версию instantclient 11.x, она работает из коробки. См http://strawberryperl.com/release-notes/5.20.0.1-64bit.html

Недавно добавленный DBD :: Oracle - вы должны установить 64-битную Oracle Instant Client 11.x и убедитесь, что у вас есть oci.dll в вашем PATH