tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <>
Subject Re: Internal Servlet Error
Date Mon, 13 May 2013 16:15:55 GMT
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

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


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

View raw message