Thanks!

Tim.

On Thu, Sep 25, 2003 at 10:11:20AM +0200, Steffen Goeldner wrote:
> Tim Bunce wrote:
> > 
> > On Wed, Sep 24, 2003 at 11:24:17AM +0200, Steffen Goeldner wrote:
> > 
> [...]
> > 
> > > dmake
> > >  ...
> > >  Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
> > >  Error: Unresolved external '_SQLEnvGet' referenced from 
> > > C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ
> > >  Error: Unresolved external '_SQLSvcCtxGet' referenced from 
> > > C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ
> > 
> > If you (or someone else) are familar enough with windows, could you
> > check if those symbols are in some other oracle library that we're
> > not linking with?
> > 
> > (Otherwise you could just remove the if(use_proc_connection){...} blocks
> > so you can continue testing the rest of the code.)
> 
> O.k., to continue I added an option for Makefile.PL and some #ifdef's in
> dbdimp.c. I'm not sure if this option (and its name) is a good idea. Thus
> I try to find those symbols and the library ...
> 
> 
> Steffen
> diff -cb DBD-Oracle-1.15-orig/Makefile.PL DBD-Oracle-1.15/Makefile.PL
> *** DBD-Oracle-1.15-orig/Makefile.PL  Tue Sep 23 00:31:19 2003
> --- DBD-Oracle-1.15/Makefile.PL       Wed Sep 24 20:39:07 2003
> ***************
> *** 84,92 ****
>   $::opt_f = 0;       # include text of oracle's .mk file within generated Makefile
>   $::opt_F = 0;       # force - ignore errors
>   $::opt_W = 0;       # just write a basic default Makefile (won't build)
>   
>   Getopt::Long::config( qw( no_ignore_case ) );
> ! GetOptions(qw(b! v! d! g! p! l! c! 8! f! F! W! m=s n=s s=s S=s))
>       or die "Invalid arguments";
>   
>   $::opt_g &&= '-g';  # convert to actual string
> --- 84,93 ----
>   $::opt_f = 0;       # include text of oracle's .mk file within generated Makefile
>   $::opt_F = 0;       # force - ignore errors
>   $::opt_W = 0;       # just write a basic default Makefile (won't build)
> + $::opt_ProC = 1;    # use ProC
>   
>   Getopt::Long::config( qw( no_ignore_case ) );
> ! GetOptions(qw(b! v! d! g! p! l! c! 8! f! F! W! m=s n=s s=s S=s ProC!))
>       or die "Invalid arguments";
>   
>   $::opt_g &&= '-g';  # convert to actual string
> ***************
> *** 581,586 ****
> --- 582,589 ----
>   
>   $opts{DEFINE} .= ' -Xa' if $Config{cc} eq 'clcc';   # CenterLine CC
>   
> + $opts{DEFINE} .= ' -DHAVE_NO_PRO_C' unless $::opt_ProC;
> + 
>   if ($::opt_8) {
>       $opts{DEFINE} .= ' -DNO_OCI8';
>       print "\n******************************************************\n";
> Common subdirectories: DBD-Oracle-1.15-orig/Oracle.ex and DBD-Oracle-1.15/Oracle.ex
> diff -cb DBD-Oracle-1.15-orig/dbdimp.c DBD-Oracle-1.15/dbdimp.c
> *** DBD-Oracle-1.15-orig/dbdimp.c     Thu Jun 12 01:04:35 2003
> --- DBD-Oracle-1.15/dbdimp.c  Wed Sep 24 20:44:11 2003
> ***************
> *** 17,23 ****
>   #include "Oracle.h"
>   
>   /* #include <sql2oci.h>     for SQL_SINGLE_RCTX but causes clashes */
> ! #if !defined(SQL_SINGLE_RCTX) && defined(OCI_V8_SYNTAX)
>   #define SQL_SINGLE_RCTX (dvoid *)0 /* from precomp/public/sqlcpr.h */
>   #endif
>   
> --- 17,23 ----
>   #include "Oracle.h"
>   
>   /* #include <sql2oci.h>     for SQL_SINGLE_RCTX but causes clashes */
> ! #if !defined(SQL_SINGLE_RCTX) && defined(OCI_V8_SYNTAX) && !defined(HAVE_NO_PRO_C)
>   #define SQL_SINGLE_RCTX (dvoid *)0 /* from precomp/public/sqlcpr.h */
>   #endif
>   
> ***************
> *** 321,328 ****
>       init_mode |= OCI_THREADED;
>   #endif
>   
> - #ifdef SQL_SINGLE_RCTX
>       if(use_proc_connection) {
>           /* Use existing SQLLIB connection. Do not call OCIInitialize(),     */
>           /* since presumably SQLLIB already did that.                        */
>           status = SQLEnvGet(SQL_SINGLE_RCTX, &imp_drh->envhp);
> --- 321,328 ----
>       init_mode |= OCI_THREADED;
>   #endif
>   
>       if(use_proc_connection) {
> + #ifdef SQL_SINGLE_RCTX
>           /* Use existing SQLLIB connection. Do not call OCIInitialize(),     */
>           /* since presumably SQLLIB already did that.                        */
>           status = SQLEnvGet(SQL_SINGLE_RCTX, &imp_drh->envhp);
> ***************
> *** 332,340 ****
>                         "SQLEnvGet. Failed to load ProC environment.");
>               return 0;
>           }
>       }
>       else {          /* Normal connect. */
> - #endif /* SQL_SINGLE_RCTX*/
>   
>           imp_drh->proc_handles = 0;
>           /* XXX recent oracle docs recommend using OCIEnvCreate() instead of */
> --- 332,340 ----
>                         "SQLEnvGet. Failed to load ProC environment.");
>               return 0;
>           }
> + #endif /* SQL_SINGLE_RCTX*/
>       }
>       else {          /* Normal connect. */
>   
>           imp_drh->proc_handles = 0;
>           /* XXX recent oracle docs recommend using OCIEnvCreate() instead of */
> ***************
> *** 356,361 ****
> --- 356,362 ----
>       if (shared_dbh_ssv) {
>           if (!imp_dbh->envhp) {
>           if(use_proc_connection) {
> + #ifdef SQL_SINGLE_RCTX
>               status = SQLEnvGet(SQL_SINGLE_RCTX, &imp_dbh->envhp);
>               imp_dbh->proc_handles = 1;
>               if (status != SQL_SUCCESS) {
> ***************
> *** 363,368 ****
> --- 364,370 ----
>                             "SQLEnvGet. Failed to load ProC environment.");
>                   return 0;
>               }
> + #endif /* SQL_SINGLE_RCTX*/
>           }
>           else {
>               OCIEnvInit_log_stat( &imp_dbh->envhp, OCI_DEFAULT, 0, 0, status);
> ***************
> *** 382,387 ****
> --- 384,390 ----
>   
>       if (!shared_dbh) {
>       if(use_proc_connection) {
> + #ifdef SQL_SINGLE_RCTX
>           imp_dbh->proc_handles = 1;
>           status = SQLSvcCtxGet(SQL_SINGLE_RCTX, dbname, strlen(dbname),
>                                 &imp_dbh->svchp);
> ***************
> *** 408,413 ****
> --- 411,417 ----
>               OCIHandleFree_log_stat(imp_dbh->errhp, OCI_HTYPE_ERROR,  status);
>               return 0;
>           }
> + #endif /* SQL_SINGLE_RCTX*/
>       }
>       else {                  /* !use_proc_connection */
>           imp_dbh->proc_handles = 0;
> Common subdirectories: DBD-Oracle-1.15-orig/hints and DBD-Oracle-1.15/hints
> Common subdirectories: DBD-Oracle-1.15-orig/lib and DBD-Oracle-1.15/lib
> Common subdirectories: DBD-Oracle-1.15-orig/t and DBD-Oracle-1.15/t

Reply via email to