2009-12-04 7 views
11

Strawberry Perl의 CPAN 셸을 사용하여 DBD::Oracle을 설치하려고합니다. MakefileOCI 라이브러리를 찾을 수 없어 처음에 오류가 발생하여 Oracle에서 인스턴트 클라이언트를 설치했습니다. 문제가 해결 될 것이라고 생각했지만 지금은 Oracle.h, dbdimp.h, Oracle.c, Oracle.xsiOracle.xs의 오류 및 경고가 혼합되어 나타납니다.Strawberry Perl에 DBD :: Oracle을 설치하는 방법

어떻게 진행해야합니까? 내 컴퓨터의 기존 Oracle 소프트웨어에 문제가있을 수 있습니까? 필자는 Perl을 처음 사용하기 때문에 어떤 도움을 주셔도 감사하겠습니다.

편집 - 나는 아래의 전체 출력을 포함하고 있습니다 : 당신이 오라클 소스 (* .H, * .c 인)의 모든 파일이없는 경우

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

당신이 기본적으로 표시 오류는 말한다 당신이 당신의 PATH에 OCI.DLL이 있는지 확인해야 컴파일이 실패했다. 그 이유를 말할 오류/경고 * 앞에 *. – 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 사용에 대한 제안을 따랐습니다. 성공적으로 Windows에서 ODBC 데이터 원본을 설정하고 DBD :: ODBC를 사용하여 데이터베이스에 연결했습니다.감사! – indiguy

+0

소문이 아닙니다. 그리고 방금 ActiveState의 ppm을 사용하여 DBD-Oracle 1.23으로 업그레이드했습니다. – runrig

+0

UWinn에 왜 나열되어 있는지 알 수는 없지만 http://cpan.uwinnipeg.ca/search?query=dbd-oracle&mode=dist – runrig

2

것은, 당신이 설치할 수 있습니다 ActiveState와 마찬가지로 ppm을 통해 DBD :: Oracle. 또는 ActiveState 배포본에서 라이브러리 파일을 복사하십시오.

+1

큰 팁 ... 한 시간 동안 싸우고 난 후에 ppm 설치가 필요함 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 make 프로세스가 설치된 Oracle Client 버전을 올바르게 감지하지 못한다는 것을 제외하면 실제로 모든 것이 순조롭게 진행되었습니다. make 파일을 조금 해독하고 명시 적으로 버전을 지정하는 매개 변수가 있다는 것을 알았습니다. 수동으로 make를 실행하고 명령을 설치해야했지만 모두 제대로 작동했습니다.

사전 컴파일 된 일부 모듈을 사용하려고했지만 특정 버전의 Strawberry Perl을 염두에두고 컴파일했습니다. 필자는 오라클 용으로 5.12 컴파일 된 DBI를 발견했다고 생각합니다. 최신 5.16 Strawberry Perl과 함께 사용하려고하면 불만을 나타 냈습니다. 그래서 수동 빌드 경로로갔습니다.

다음은 필자가 필요로하는 다른 컴퓨터에 내 c : \ perl 바이너리 디렉토리를 복사하고 환경 변수를 설정 한 다음 롤백하는 것입니다.

1

Strawberry Perl 5.20 (2014 년 5 월 이후)은 즉시 사용할 수있는 instantclient 11.x 버전을 설치하는 한 DBD :: Oracle과 함께 제공됩니다. 새로 DBD :: 오라클 추가 http://strawberryperl.com/release-notes/5.20.0.1-64bit.html

를 참조하십시오 - 당신은 64 비트 오라클 인스턴트 클라이언트 11.x의 설치 및