Hello,
   
  I am trying to run the tomcat as NT Service, but does not seem to work with 
OCI, if I run the same tomcat instance not as a service but via startup.bat, 
the OCI JDBC driver works fine.
   
  Can anybody help me locate how to fix the service installation script to 
avoid the exception.
   
  Local setup followed -
   
  1) I have installed tomcat 5.5.25.
  2) Installed oracle client installation to use JDBC OCI Driver.
      a) Installed the oracle client installation at location - 
C:\oracle\product\10.2.0\client_1
      b) PATH is updated to reflect the above location for the dlls.
      c) copied the ojdbc14.ar to the %CATALINA_HOME%/commo/lib/ folder.
  3) the context.xml has the OCI URL properly -
   <Resource name="jdbc/provider" auth="Container"
  type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
  url="jdbc:oracle:oci:@//<IP>:1521/orcl"
  username="UN" password="PWD" maxActive="20" maxIdle="10"
  maxWait="-1"
  removeAbandoned="true"
  removeAbandonedTimeout="60"
  logAbandoned="true"
  />
   
  If i run the %CATALINA_HOME%/bin/startup.bat - the application works fine and 
the JDBC code excutes properly.
   
  To install the tomcat as a service I ran the following script - 
  NOTE - We did specify the -Djava.library.path in the script.
  _____________________________________________________________________________
  SET CATALINA_HOME=C:\tools\apache-tomcat-5.5.25
SET CATALINA_BASE=C:\tools\apache-tomcat-5.5.25
  
 @echo off
 
 echo CATALINA_HOME: %CATALINA_HOME%
 echo CATALINA_BASE: %CATALINA_BASE%
 echo JAVA_HOME: %JAVA_HOME%
 pause
 set BASEDIR=%CATALINA_HOME%
 call "%CATALINA_HOME%\bin\setclasspath.bat"
 
 set args=%args% --Description=TOMCAT1
 set args=%args% --DisplayName=TOMCAT1
 
 set args=%args% --Startup=auto
 
 set args=%args% --LogPath=%CATALINA_BASE%\logs
 set args=%args% --LogLevel=DEBUG
 set args=%args% --StdError=%CATALINA_BASE%\logs\tomcat1_err.log
 set args=%args% --StdOutput=%CATALINA_BASE%\logs\tomcat1_out.log
 
 set args=%args% --Classpath="%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar"
 
 set args=%args% --JavaHome=%JAVA_HOME%
 set args=%args% --Jvm=%JAVA_HOME%\jre\bin\server\jvm.dll
 set args=%args% 
--JvmOptions="-Xms128m;-Xmx512m;-Djava.library.path=C:\oracle\product\10.2.0\client_1;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"
  
 
 set args=%args% --StartMode=jvm
 set args=%args% --StartClass=org.apache.catalina.startup.Bootstrap
 set args=%args% --StartParams=start
 rem set args=%args% --StartImage=%CATALINA_HOME%\bin\tomcat5.exe
 rem set args=%args% --StartPath=%CATALINA_HOME%\bin;
 
 set args=%args% --StopMode=jvm
 set args=%args% --StopClass=org.apache.catalina.startup.Bootstrap
 set args=%args% --StopParams=stop
 rem set args=%args% --StopImage=%CATALINA_HOME%\bin\tomcat5.exe
 rem set args=%args% --StopPath=%CATALINA_HOME%\bin
 
 %CATALINA_HOME%\bin\tomcat5.exe //IS//TomcatTest %args%
 set args=
 set BASEDIR=
_____________________________________________________________________________
   
  Now when we run the service and start the application - we get the following 
exception -
  java.lang.UnsatisfiedLinkError: 
C:\oracle\product\10.2.0\client_1\ocijdbc10.dll: Can't find dependent libraries
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
 at java.lang.Runtime.loadLibrary0(Runtime.java:822)
 at java.lang.System.loadLibrary(System.java:992)
 at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3135)
 at java.security.AccessController.doPrivileged(Native Method)
 at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3131)
 at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221)
 at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
 at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
 at 
oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
 at 
org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
 at 
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
 at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
 at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
 at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
<<snipped>>
   
  Can anybody please help me locate how to fix the service installation script 
to avoid the exception. I am assuming since the regular command prompt way of 
starting tomcat works fine with the driver, its the service installation script 
which is missing something.
   
  Thanks,
  Rumpa Giri

       
---------------------------------
Be a better pen pal. Text or chat with friends inside Yahoo! Mail. See how.

Reply via email to