tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Propes, Barry L " <>
Subject RE: Internal Servlet Error
Date Mon, 13 May 2013 17:02:12 GMT
Yeah, it's clear from what's typed below his DB driver is way out of whack with this ancient
version of Tomcat.

It probably got updated along the way by network sorts while the Tomcat version stayed put.

Go to current, and with current Tomcat, also get a current JDK - I imagine the one you have
is ancient as well.


-----Original Message-----
From: Christopher Schultz [] 
Sent: Monday, May 13, 2013 11:16 AM
To: Tomcat Users List
Subject: Re: Internal Servlet Error

Hash: SHA256


On 5/13/13 2:52 AM, Jeny V wrote:
> I'm having some real issues , running programs in Tomcat on my 
> machine.
> I just copied a jakarta folder named "jakarta-tomcat-3.3.1a" on to my 
> D: drive (Path : D:\Program Files\jakarta-tomcat-3.3.1a) .

I'm going to go ahead and echo the few responses you're already gotten so far and tell you
that you really need to discard that version of Tomcat. I don't care if you have an application
that "works" on it (obviously in some other environment) and are afraid to upgrade. That version
is so old, we don't even have the documentation online anymore for how many unfixed security
vulnerabilities may or may not be present in that version.

The Java Servlet Specification is nominally backward-compatible, so you should be able to
download the latest version of Tomcat, configure it properly, and run your webapp without
too many problems.

> I can run simple jsp programs with no database connection. But 
> whenever I try to execute programs with database connections, 
> following error encounters:
> Error: 500
> Internal Servlet Error:
> javax.servlet.ServletException: [Microsoft][ODBC Driver Manager] The 
> specified DSN contains an architecture mismatch between the Driver and 
> Application at [...]

The error is obvious from this message, but if you don't recognize the important words ("architecture
mismatch") then you could be lost.

The problem is that you are using a 32-bit ODBC driver on a 64-bit JVM (or maybe a 64-bit
ODBC driver on a 32-bit JVM: you didn't specify what kind of JVM you were using, though I
suspect you have a 64-bit JVM and a hideously old driver that you've been lugging-around with
your Tomcat 3 install). You need to take one of the following actions:

1. Install a 32-bit JVM and use that. This will solve the architecture mismatch by switching
the JVM. This may have an impact on your webapp (mostly a smaller maximum heap size) so you
may not want to do this.

2. Install a 32-bit version of your ODBC driver and use that. This will solve the architecture
mismatch by switching the driver. You may not be able to find a compatible 64-bit driver so
you may not be able to do this.

3. Discard your ODBC driver entirely and use a pure-Java JDBC driver.
Pretty much every database has one of these things available one way or another. This avoids
the architecture mismatch entirely and it will likely result in better performance and stability
of your web application. I highly recommend that you take this course of action.

What database are you using?

> Please do reply or help me with this problem as I tried so many times 
> to fix the problem by trying various solutions.

In the future, it would be best to let everyone know what solutions you have tried and what
the results were (other than just "it didn't work").

- -chris
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools -
Comment: Using GnuPG with Thunderbird -


To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message