Not sure what it was, but i decided to install 1.42_11 (which is what i was
using before - didn't think that it would matter). But now access to sql
server 2005 is working fine.
Hopefully this will help someone who is new to jdni, jtls and tomcat w/sql
server 05.
...Robin
--------------------------------------------------
From: "ULS Tech Support" <tech_supp...@uls.com>
Sent: Friday, October 16, 2009 9:49 AM
To: "Tomcat Users List" <users@tomcat.apache.org>
Subject: Issue moving Tomcat 5.5.9 w/JDNI and JTLS to SQL Server 2005
Hi there,
I'm hoping i have all the correct terminology...
Current hardware/software setup
Windows Server 2000 (Live)
Tomcat version 5.59.
Java: Sun JDK 1.42_09 (need to use this as i have an application that
wasn't
written by me, but doesn't seem to work in 1.5)
Windows Server 2003 running SQL Server 2000.
JDBC: TWFreeTDS
Class c = Class.forName("com.thinweb.tds.Driver"); //The Driver
dbConn =
DriverManager.getConnection("jdbc:twtds:sqlserver://SQLServer00/Catalog;user=user;password=password;TDS=7.0");
The connection works with SQL Server 2000.
New Hardware/software setup:
Windows Server 2008. Dev computer is Windows 7 32 bit.
Tomcat version 5.59.
Java: Sun JDK 1.42_09 (need to use this as i have an application that
wasn't
written by me, but doesn't seem to work in 1.5)
SQL Server 2005 on Windows Server 2008.
JDBC: jTDS via JDNI (both are located in the common/lib folder.
Updated all commons (collections 3.2.1, dbcp 1.22, pool 1.53) to the
latest
available. Also located in the common/lib folder, and not located in the
webapps' lib folder.
At first i tried to see if FreeTDS would work with SQL Server 2005, but
from
what i can see, it doesn`t go through.
So i decided to change the url to jTDS, but again the connection doesn't
go
through. I'm not even sure if i have the right connection url, but when i
have tried to use it, it just doesn't connect.
Class c = Class.forName("net.sourceforge.jtds.jdbc.Driver"); //The Driver
dbConn =
DriverManager.getConnection("jdbc:jtds:sqlserver://SQLServer05/Catalog;user=user;password=password;TDS=8.0");
I've made sure that all security stuff is correct on both, and in fact,
NetBeans connects just fine to SQL Server 2005. But there is a schema
that
i don`t understand how it gets in there.
Considering this, i decided to try and use the JDNI.
I have set up everything that i can see based on the instructions i found.
Files currently listed in "common/lib"
activation.jar
commons-collections-3.2.1.jar
commons-dbcp-1.2.2.jar
commons-el.jar
commons-pool-1.5.3.jar
jasper-compiler.jar
jasper-compiler-jdt.jar
jasper-runtime.jar
jsp-api.jar
jtds-1.2.4.jar
mail.jar
naming-factory.jar
naming-resources.jar
servlet-api.jar
tools.jar
Here is the Context.xml file.
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/App">
<Resource
name="jdbc/Conn"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://sql2005:1433/Catalog"
username="username"
password="password"
maxActive="20"
maxIdle="10"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true" />
</Context>
web.xml (rest is snipped, only to show the relevent info).
<resource-ref>
<description>
Resource reference to a factory for java.sql.Connection instances
that may be used for talking to a particular database that is
configured
in the server.xml file.
</description>
<res-ref-name>jdbc/Conn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Even though the above in web.xml says that discusses making a config
change
in the server xml, i didn`t make any changes there.
Here is my code in the bean that i had set up for connecting to the
database.
ConnectionBean.java (only the method is shown).
public Connection getConnection()
throws SQLException {
Connection dbConn = null;
InitialContext initCtx = null;
DataSource ds = null;
try {
log.info("Context");
initCtx = new InitialContext();
if (initCtx == null) {
log.info("No Context");
}
log.info("Datasource checking");
ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/Conn");
if (ds == null) {
log.info("Datasource not found");
}
log.info("Getting Connection");
dbConn = ds.getConnection();
if (dbConn == null) {
log.info("Could not get connection");
}
} catch (SQLException e) {
log.info("SQLException: " + e);
} catch (NamingException e) {
log.info(e.getMessage());
}
return dbConn;
}
Here is the stdout when i try and run the bean.
2009/10/16 15:37:09 - Context
2009/10/16 15:37:09 - Datasource checking
2009/10/16 15:37:09 - Getting Connection
AbandonedObjectPool is used
(org.apache.commons.dbcp.abandonedobjectp...@10a5c21)
LogAbandoned: true
RemoveAbandoned: true
RemoveAbandonedTimeout: 60
This is the error i get when i try and connect to the database via the
bean
above.
16-Oct-2009 3:37:09 PM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NoSuchMethodError:
java.lang.Integer.valueOf(I)Ljava/lang/Integer;
at
net.sourceforge.jtds.jdbc.ConnectionJDBC2.unpackProperties(ConnectionJDBC2.java:1221)
at
net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:280)
at
net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at
org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at Beans.ConnectionBean.getConnection(ConnectionBean.java:183)
at org.apache.jsp.page_jsp._jspService(org.apache.jsp.page_jsp:152)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:481)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
I am hoping someone can see where i am going wrong here...
Thank you.
...Robin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org