java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to
connect. Invalid URL.
at com.microsoft.jdbc.base.BaseExceptions.createExcep tion(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getExceptio n(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at
com.novell.zenworks.zfdamrwebapp.zfdamrServlet.cre ateDatabaseTables(Unknown
Source)
at com.novell.zenworks.zfdamrwebapp.zfdamrServlet.ini t(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.j ava:211)
at
org.apache.catalina.core.StandardWrapper.loadServl et(StandardWrapper.java:1029)
at org.apache.catalina.core.StandardWrapper.allocate( StandardWrapper.java:687)
at
org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:144)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invo keInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(A ccessLogValve.java:535)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invo keNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(Cont ainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(Co yoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.processConnection(Http11Protocol.jav a:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(P oolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)


The web.xml file (in the zfdamrServlet/WEB-INF folder) is as follows:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>


<display-name>ZENWorks for Desktops, Application Management Reporting
Servlet</display-name>
<description>
This is version 1.0 of The ZENWorks for Desktops Application Management
Reporting Servlet. This version takes an XML document as input, and
submits the reporting event described by the XML document to a
JDBC-enabled
database.
</description>


<!-- The following context parameters must be given values appropriate
for your database configuration. If your database has the default
Sybase values, then all you need to change is the ip address (dbip).
-->

<context-param>
<param-name>dbuser</param-name>
<param-value>naldb</param-value>
<description>
The user id to use when accessing the database
</description>
</context-param>

<context-param>
<param-name>dbpasswd</param-name>
<param-value>novell</param-value>
<description>
The password to use along with dbuser
</description>
</context-param>

<context-param>
<param-name>dbip</param-name>
<param-value>127.0.0.1</param-value>
<description>
The IP address of the server running the database
</description>
</context-param>

<context-param>
<param-name>dbport</param-name>
<param-value>1433</param-value>
<description>
The port on which the database engine is listening (2638 for Sybase
on Netware)
</description>
</context-param>

<context-param>
<param-name>dbprotocol</param-name>
<param-value>jdbc:</param-value>
<description>
The protocol (eg, jdbc:) to use when accessing the database
</description>
</context-param>

<context-param>
<param-name>dbsubprotocol</param-name>
<param-value>microsoft:</param-value>
<description>
The subprotocol (eg, sybase:) to use when accessing the database
</description>
</context-param>

<context-param>
<param-name>dbsubname</param-name>
<param-value>sqlserver://</param-value>
<description>
The subname (eg, for Sybase, Tds:) to use when accessing the database
</description>
</context-param>

<context-param>
<param-name>dbdriver</param-name>
<param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver </param-value>
<description>
The full class of the jdbc driver to use (eg,
com.sybase.jdbc2.jdbc.SybDriver)
</description>
</context-param>

<context-param>
<param-name>dbinstance</param-name>
<param-value>NAL</param-value>
<description>
The instance name of the NAL reporting database
</description>
</context-param>

<servlet>
<servlet-name>zfdamrServlet</servlet-name>
<description>
This servlet takes XML representations of Application Management
reporting events and translates them into JDBC, inserting them into
the configured database
</description>

<servlet-class>com.novell.zenworks.zfdamrwebapp.zfdamrServl et</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>zfdamrServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>30</session-timeout> <!-- 30 minutes -->
</session-config>


</web-app>