---------------------------------------------------------------------------
HARBOR: http://coolharbor.100free.com/index.htm
Now Tomcat is also a cool pojo application server
---------------------------------------------------------------------------
After Thought
Rumpa, I was just thinking.... it happens.
From what you doing and, ie installing drivers in Tomcat/lib
If Oracle is set up right, you should have to do nothing else... ie just run
Service.Bat
Then if you finding that from the Tomcat Icon in Task bar... making the
service start on AUTO does not work (I find that, dont know why).
Then go to Admn - > Services on windows and set it there. Then the service
will start when the machine starts.
If you have to start it from the command line, the only script you should be
Writing is something like
NET Start Apache Tomcat
Its a service... idea is not to start it like a normal EXE or Jar
You want to try get it down like this, so that if a windows user uses the
Installer version, it also works.
If anything... I think its a property in the Oracle installation that isnt
right... I think check the system properties needed for OCI.
It should be very easy...
Rumpa I dont know, going to guess.
First Guess ;)
I'm wondering why you dont base this on service.bat
Starting a service is done for you, and it (service bat) look like its
actually a 2 phase thing.
First the service is installed, and then at the bottom, they give you a
place to add options, with another call.
You seem to be doing it the hard way.
Second Guess ;)
The error you getting has got nothing to do with the JDBC driver, it cant
find the DLL.
I think if you put the DLL in windows/system32 it would find it.
Which means the system path or something like that is not right.
The Tomcat service probably checks this sort of thing when started in 2
phases, but the cause is probably because services run under a "local
system user", and the system paths showing the location of those DLL's are
under "your" user name and not in ALL user names... see My Computer (right
cick) -> Advanced -> Env Variables.
Then finally, if you do let Tomcat do its thing through service bat, you
should get a task bar icon, if you click on that and look at the Java tab,
its easy to see which JavaOpts are coming through and you can change and
test there as well.
Compliments of the Season
----- Original Message -----
From: "Rumpa Giri" <[EMAIL PROTECTED]>
To: <users@tomcat.apache.org>
Sent: Saturday, December 01, 2007 4:01 AM
Subject: Tomcat Service and OCI
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.
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]