Re: accessing a database ...

2004-08-10 Thread Viorel Dragomir
Hi,

I have no ideea if this is really possible, but I want to clarify for myself.

If tomcat runs as a service, do you think that it might have permissions problem with 
reading the DSN entry?



--
viorel

- Original Message - 
From: Vassilis Atlamazoglou 
To: Tomcat Users List 
Sent: Tuesday, August 10, 2004 11:57
Subject: Re: accessing a database ...


I run it as standalone ...

and the error message was ...

java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6987)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3074)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at DisplayServ.doPost(DisplayServ.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
at java.lang.Thread.run(Thread.java:534)
BUT when I changed toClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:odbc:Driver={MicrosoftAccess
Driver (*.mdb)};DBQ=C:\\vatlam\\db\\odbc_exmp.mdb");IT WORKED!Is there a
similar way to bypass the problem for the case of the MS SQL server ?V


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: accessing a database ...

2004-08-10 Thread Vassilis Atlamazoglou
I run it as standalone ...

and the error message was ...

java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6987)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3074)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at DisplayServ.doPost(DisplayServ.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
at java.lang.Thread.run(Thread.java:534)
BUT when I changed toClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:odbc:Driver={MicrosoftAccess
Driver (*.mdb)};DBQ=C:\\vatlam\\db\\odbc_exmp.mdb");IT WORKED!Is there a
similar way to bypass the problem for the case of the MS SQL server ?V


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: accessing a database ...

2004-08-10 Thread Aris Javier
what is the error message?
are you running tomcat as a service?

-Original Message-
From: Vassilis Atlamazoglou [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 10, 2004 4:45 PM
To: Tomcat Users List
Subject: Re: accessing a database ...


Aris, 

I deleted user dsn but it didn't change anything!!!

Vassilis




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: accessing a database ...

2004-08-10 Thread Vassilis Atlamazoglou
Aris, 

I deleted user dsn but it didn't change anything!!!

Vassilis




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: accessing a database ...

2004-08-10 Thread Aris Javier
conflict arises when you use tomcat as a service and declared both user
and system dsn..
system dsn should prevail. delete user dsn.



-Original Message-
From: Vassilis Atlamazoglou [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 10, 2004 4:33 PM
To: Tomcat Users List
Subject: accessing a database ...


Hi,
I have a database in MS Access which has a system DSN (and a user DSN)
in ODBC Data Source Administrator of Windows XP. I can access the data
with
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection c = DriverManager.getConnection("jdbc:odbc:odbc_exmp");

with a simple executable java file. But I cannot have access  with the a
simple servlet via tomcat.

BUT when I changed to
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection
c=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft
Access Driver (*.mdb)};DBQ=C:\\vatlam\\db\\odbc_exmp.mdb");

IT WORKED!

What might be the problem?
AND ESPECIALLY what I must change in order to access a MS SQL database.

Thank you very much in advance for your help!


Vassilis

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



accessing a database ...

2004-08-10 Thread Vassilis Atlamazoglou
Hi,
I have a database in MS Access which has a system DSN (and a user DSN)
in ODBC Data Source Administrator of Windows XP. I can access the data
with
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection c = DriverManager.getConnection("jdbc:odbc:odbc_exmp");

with a simple executable java file. But I cannot have access  with the
a simple servlet via tomcat.

BUT when I changed to
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection c=DriverManager.getConnection("jdbc:odbc:Driver={Microsoft
Access Driver (*.mdb)};DBQ=C:\\vatlam\\db\\odbc_exmp.mdb");

IT WORKED!

What might be the problem?
AND ESPECIALLY what I must change in order to access a MS SQL database.

Thank you very much in advance for your help!


Vassilis


RE: accessing a database via Tomcat

2004-08-03 Thread Shapira, Yoav

Hi,
Add debugging statements to assert that the connection is not null, the
statement is created OK, etc, rather than just one exception around
everything.

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: Vassilis Atlamazoglou [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, August 03, 2004 6:08 AM
>To: Tomcat Users List
>Subject: accessing a database via Tomcat
>
>I have a database in MS Access which has a system DSN (and a user DSN)
in
>ODBC Data Source Administrator of Windows XP. I can access the data
with
>
>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>  Connection c =
DriverManager.getConnection("jdbc:odbc:odbc_exmp");
>
>with a simple executable java file. But I cannot have access  with the
>following servlet
>
>import java.sql.*;
>import java.io.*;
>import javax.servlet.*;
>import javax.servlet.http.*;
>
>public class DisplayServlet extends HttpServlet {
>
>  public void doGet(HttpServletRequest req, HttpServletResponse res)
>throws ServletException, IOException {
>
>res.setContentType("text/html");
>PrintWriter out = res.getWriter();
>
>out.print ("Display Records");
>out.print ("");
>out.println("Display Records");
>
>
>res.setContentType("text/html");
>
>
>// debugging info
>
>long time1 = System.currentTimeMillis();
>
>// connecting to database
>
>Connection con = null;
>Statement stmt = null;
>ResultSet rs = null;
>String userID = "";
>String passwd = "";
>String dbURL = "jdbc:odbc:odbc_exmp";
>try {
>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>  con = DriverManager.getConnection(dbURL, userID, passwd);
>
>  stmt = con.createStatement();
>  rs = stmt.executeQuery("SELECT * FROM Names");
>
>  // displaying records
>
>  while(rs.next()) {
>out.print(rs.getObject(1).toString());
>out.print("\t");
>out.print(rs.getObject(2).toString());
>out.print("\t\t");
>out.print(rs.getObject(3).toString());
>out.print("\n");
>  }
>
>
>} catch (SQLException e) {
>  throw new
>  ServletException("Servlet Could not display records.", e);
>} catch (ClassNotFoundException e) {
>  throw new
>  ServletException("JDBC Driver not found.", e);
>} finally {
>  try {
>if(rs != null) {
>  rs.close();
>  rs = null;
>}
>if(stmt != null) {
>  stmt.close();
>  stmt = null;
>}
>if(con != null) {
>  con.close();
>  con = null;
>}
>  } catch (SQLException e) {}
>}
>
>// debugging info
>
>   out.println ("");
>
>
>  }
>}
>
>via Tomcat 4.1
>
>with the following error messages:
>
>type Exception report
>
>message
>
>description The server encountered an internal error () that prevented
it
>from fulfilling this request.
>
>exception
>
>javax.servlet.ServletException: Servlet Could not display records.
>   at DisplayServlet.doGet(DisplayServlet.java:55)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>   at
>org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet
.jav
>a
>:466)
>   at
>org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:1
80)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>   at
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
atio
>n
>FilterChain.java:247)
>   at
>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
terC
>h
>ain.java:193)
>   at
>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
ve.j
>a
>va:256)
>   at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>   at
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
>   at
>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>   at
>org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
ve.j
>a
>va:191)
>   at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invo
>k
>eNext(StandardPipeline.java:643)
>   at
>org.apache.cat

accessing a database via Tomcat

2004-08-03 Thread Vassilis Atlamazoglou
I have a database in MS Access which has a system DSN (and a user DSN) in
ODBC Data Source Administrator of Windows XP. I can access the data with

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection c = DriverManager.getConnection("jdbc:odbc:odbc_exmp");

with a simple executable java file. But I cannot have access  with the
following servlet

import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class DisplayServlet extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

res.setContentType("text/html");
PrintWriter out = res.getWriter();

out.print ("Display Records");
out.print ("");
out.println("Display Records");


res.setContentType("text/html");


// debugging info

long time1 = System.currentTimeMillis();

// connecting to database

Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String userID = "";
String passwd = "";
String dbURL = "jdbc:odbc:odbc_exmp";
try {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  con = DriverManager.getConnection(dbURL, userID, passwd);

  stmt = con.createStatement();
  rs = stmt.executeQuery("SELECT * FROM Names");

  // displaying records

  while(rs.next()) {
out.print(rs.getObject(1).toString());
out.print("\t");
out.print(rs.getObject(2).toString());
out.print("\t\t");
out.print(rs.getObject(3).toString());
out.print("\n");
  }


} catch (SQLException e) {
  throw new
  ServletException("Servlet Could not display records.", e);
} catch (ClassNotFoundException e) {
  throw new
  ServletException("JDBC Driver not found.", e);
} finally {
  try {
if(rs != null) {
  rs.close();
  rs = null;
}
if(stmt != null) {
  stmt.close();
  stmt = null;
}
if(con != null) {
  con.close();
  con = null;
}
  } catch (SQLException e) {}
}

// debugging info

   out.println ("");


  }
}

via Tomcat 4.1

with the following error messages:

type Exception report

message

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception

javax.servlet.ServletException: Servlet Could not display records.
at DisplayServlet.doGet(DisplayServlet.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java
:466)
at
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163
)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline