Re: Running CGI (Perl) = Can't load module DBI

2008-07-09 Thread Joris Kimpe

I found a solution...

Instead of setting this in my web.xml:
servlet
servlet-namecgi/servlet-name
servlet-classorg.apache.catalina.servlets.CGIServlet/servlet-class
init-param
param-namedebug/param-name
param-value6/param-value
/init-param
init-param
param-namecgiPathPrefix/param-name
param-valueWEB-INF/cgi/param-value
/init-param
load-on-startup5/load-on-startup
/servlet

servlet-mapping
servlet-namecgi/servlet-name
url-pattern/cgi-bin/*/url-pattern
/servlet-mapping

I added this to my servlet:
init-param
param-namepassShellEnvironment /param-name
param-valuetrue/param-value
/init-param


Now I have access to my environment variables in my perl script (running on
the Tomcat server)



Alex Mestiashvili wrote:
 
 Joris Kimpe wrote:
 Hi all,

 don't know if this is the correct place, but here it goes...

 I've created a cgi script (perl) which need to run in Tomcat 5.5.  But
 when
 I try to connect to our database, the error I get is:

 install_driver(DB2) failed: Can't load
 'w:/win32/install/core/CO_PERL/site/lib/auto/DBD/DB2/DB2.dll' for module
 DBD::DB2: load_file:The specified module could not be found at
 w:/win32/install/core/CO_PERL/lib/DynaLoader.pm line 230.
  at (eval 3) line 3
 Compilation failed in require at (eval 3) line 3.
 Perhaps a required shared library or dll isn't installed where expected
  at
 W:\win32\install\core\CO_TOMCAT\webapps\xtremis\WEB-INF\cgi\present.pl
 line 283

 If I check for the dll, I see that is present in this directory...

 If I copy some dll's from C:\Program Files\IBM\SQLLIB\BIN to the same
 directory, it works fine...  But I don't think this is the way to do it.

 My question now is, how can I set a custom environment variable which I
 can
 use in my perl script (while running in Tomcat).

 Thanks!

   
 Hi ,
 I am not sure that it will help , but
 
 for environment variables you can use %ENV  hash
 
 and if you want to define some places with perl modules , you can  use
 @INC array
 
 here is an example
 #!/usr/bin/perl
 
 foreach my $val (keys (%ENV) ) {
 print $ENV{$val};
 }
 
 push (@INC,'/usr/lib/my_modules');
 
 foreach my $val(@INC) {
 print $val\n;
 }
 
 $perl env.pl
 DCOPRef(konsole-3234,session-6)/local/adm/.Xauthority\h:\w\$ local| 
 /usr/bin/lesspipe 
 %s/tmp/ssh-HUJSRj3179/agent.3179/stable/rooten_US.UTF-8root/usr/lib/jvm/jdk1.6.0_05/jreroot1;31/usr/bin/lesspipe
  
 %s 
 %s3/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/bin/X11:/usr/lib/jvm/jdk1.6.0_0
 skip
 /usr/local/lib/perl/5.10.0
 /usr/local/share/perl/5.10.0
 /usr/lib/perl5
 /usr/share/perl5
 /usr/lib/perl/5.10
 /usr/share/perl/5.10
 /usr/local/lib/site_perl
 
 or another example  (best) which i've found here 
 http://www.devdaily.com/perl/edu/articles/pl010015/
 
 #!/usr/bin/perl
 
 use lib /home/george/modules;
 
 print [EMAIL PROTECTED] is @INC\n;
 
 $perl inc.pl
 @INC is /home/george/modules /etc/perl /usr/local/lib/perl/5.10.0 
 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 
 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .
 
 
 
 
 -
 To start a new topic, e-mail: users@tomcat.apache.org
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Running-CGI-%28Perl%29-%3D%3E-Can%27t-load-module-DBI-tp18341567p18356402.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Running CGI (Perl) = Can't load module DBI

2008-07-08 Thread Joris Kimpe

Hi all,

don't know if this is the correct place, but here it goes...

I've created a cgi script (perl) which need to run in Tomcat 5.5.  But when
I try to connect to our database, the error I get is:

install_driver(DB2) failed: Can't load
'w:/win32/install/core/CO_PERL/site/lib/auto/DBD/DB2/DB2.dll' for module
DBD::DB2: load_file:The specified module could not be found at
w:/win32/install/core/CO_PERL/lib/DynaLoader.pm line 230.
 at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at W:\win32\install\core\CO_TOMCAT\webapps\xtremis\WEB-INF\cgi\present.pl
line 283

If I check for the dll, I see that is present in this directory...

If I copy some dll's from C:\Program Files\IBM\SQLLIB\BIN to the same
directory, it works fine...  But I don't think this is the way to do it.

My question now is, how can I set a custom environment variable which I can
use in my perl script (while running in Tomcat).

Thanks!

-- 
View this message in context: 
http://www.nabble.com/Running-CGI-%28Perl%29-%3D%3E-Can%27t-load-module-DBI-tp18341567p18341567.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Running CGI (Perl) = Can't load module DBI

2008-07-08 Thread Alex Mestiashvili

Joris Kimpe wrote:

Hi all,

don't know if this is the correct place, but here it goes...

I've created a cgi script (perl) which need to run in Tomcat 5.5.  But when
I try to connect to our database, the error I get is:

install_driver(DB2) failed: Can't load
'w:/win32/install/core/CO_PERL/site/lib/auto/DBD/DB2/DB2.dll' for module
DBD::DB2: load_file:The specified module could not be found at
w:/win32/install/core/CO_PERL/lib/DynaLoader.pm line 230.
 at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at W:\win32\install\core\CO_TOMCAT\webapps\xtremis\WEB-INF\cgi\present.pl
line 283

If I check for the dll, I see that is present in this directory...

If I copy some dll's from C:\Program Files\IBM\SQLLIB\BIN to the same
directory, it works fine...  But I don't think this is the way to do it.

My question now is, how can I set a custom environment variable which I can
use in my perl script (while running in Tomcat).

Thanks!

  

Hi ,
I am not sure that it will help , but

for environment variables you can use %ENV  hash

and if you want to define some places with perl modules , you can  use
@INC array

here is an example
#!/usr/bin/perl

foreach my $val (keys (%ENV) ) {
   print $ENV{$val};
}

push (@INC,'/usr/lib/my_modules');

foreach my $val(@INC) {
   print $val\n;
}

$perl env.pl
DCOPRef(konsole-3234,session-6)/local/adm/.Xauthority\h:\w\$ local| 
/usr/bin/lesspipe 
%s/tmp/ssh-HUJSRj3179/agent.3179/stable/rooten_US.UTF-8root/usr/lib/jvm/jdk1.6.0_05/jreroot1;31/usr/bin/lesspipe 
%s 
%s3/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/bin/X11:/usr/lib/jvm/jdk1.6.0_0

skip
/usr/local/lib/perl/5.10.0
/usr/local/share/perl/5.10.0
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl

or another example  (best) which i've found here 
http://www.devdaily.com/perl/edu/articles/pl010015/


#!/usr/bin/perl

use lib /home/george/modules;

print [EMAIL PROTECTED] is @INC\n;

$perl inc.pl
@INC is /home/george/modules /etc/perl /usr/local/lib/perl/5.10.0 
/usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 
/usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .





-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]