Ejemplo Tomcat con Ms Access
Publicado por Carlos (2 intervenciones) el 19/02/2009 16:06:57
Hola,
Estoy intentando hacer un ejemplo para conectar una aplicacion a una base de datos en Tomcat. El programa solo tiene que contar los records de tabla y devolverlos.
El programa ejecutado desde la consola (Main), sin usar la web conecta a la bd bien, funciona.
Y la web funciona sin conectar a la bd...
Sabeis si hay que configuar algo en Tomcat para usar Access o anadir alguna libreria o algo?
Por favor, cualquier pista que me podais dar sera muy util !! :)
Pero si intento accedar a Access desde Tomcat me da este error:
--------------------------------------------------------------------------------------------------
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
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:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at ListarServlet.doGet(ListarServlet.java:31)
----------------------------------------------------------------------------------------------------
El codigo del progama es muy simple:
------------------------------------------------------------------------------------------------------
public class ListarServlet extends HttpServlet {
private static final String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String URLCON = "jdbc:odbc:GoldenAgent";
private static String sUsuario = "admin"; //Usuario de conexión con la base de datos.
private static String sClave = "admin"; //Clave de acceso a la base de datos.
private static Connection oCnx = null;
@Override protected
void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
try {
/*
Context ctx = new InitialContext();
DataSource ds=(DataSource) ctx.lookup("java:comp/env/jdbc/GoldenAgent");
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT count(*) as cuenta FROM users");
*/
Class.forName(DRIVER);
oCnx = DriverManager.getConnection(URLCON,sUsuario,sClave);
//oCnx = DriverManager.getConnection(URLCON);
Statement stmt=oCnx.createStatement();
ResultSet rs=stmt.executeQuery("SELECT count(*) as cuenta FROM users");
int result=0;
if (rs.next())result=rs.getInt("cuenta");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body bgcolor="white">");
out.println("<p>La cuenta da: "+result);
out.println("</body>");
out.println("</html>");
//conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
-----------------------------------------------------------------------------------------
gracias,
Carlos
Estoy intentando hacer un ejemplo para conectar una aplicacion a una base de datos en Tomcat. El programa solo tiene que contar los records de tabla y devolverlos.
El programa ejecutado desde la consola (Main), sin usar la web conecta a la bd bien, funciona.
Y la web funciona sin conectar a la bd...
Sabeis si hay que configuar algo en Tomcat para usar Access o anadir alguna libreria o algo?
Por favor, cualquier pista que me podais dar sera muy util !! :)
Pero si intento accedar a Access desde Tomcat me da este error:
--------------------------------------------------------------------------------------------------
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
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:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at ListarServlet.doGet(ListarServlet.java:31)
----------------------------------------------------------------------------------------------------
El codigo del progama es muy simple:
------------------------------------------------------------------------------------------------------
public class ListarServlet extends HttpServlet {
private static final String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String URLCON = "jdbc:odbc:GoldenAgent";
private static String sUsuario = "admin"; //Usuario de conexión con la base de datos.
private static String sClave = "admin"; //Clave de acceso a la base de datos.
private static Connection oCnx = null;
@Override protected
void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
try {
/*
Context ctx = new InitialContext();
DataSource ds=(DataSource) ctx.lookup("java:comp/env/jdbc/GoldenAgent");
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT count(*) as cuenta FROM users");
*/
Class.forName(DRIVER);
oCnx = DriverManager.getConnection(URLCON,sUsuario,sClave);
//oCnx = DriverManager.getConnection(URLCON);
Statement stmt=oCnx.createStatement();
ResultSet rs=stmt.executeQuery("SELECT count(*) as cuenta FROM users");
int result=0;
if (rs.next())result=rs.getInt("cuenta");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body bgcolor="white">");
out.println("<p>La cuenta da: "+result);
out.println("</body>");
out.println("</html>");
//conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
-----------------------------------------------------------------------------------------
gracias,
Carlos
Valora esta pregunta


0