When run as a service - the PATH used by SYSTEM is not the same as when
you are logged in. (So you need to add the dll's somewhere in your path
as SYSTEM user - I can't recall how this is done but this is a very
common problem google can help you with)
The type 4 jdbc driver from oracle has been very stable for the last
(lot of) years. There really isn't much reason top use the OCI driver.
-Tim
Rumpa Giri wrote:
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
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]