Newsgroup: it.comp.java
Titolo: Servlet + Database Access: è possibile accedervi?

Ho creato due applicaizoni di prova perfettamente identiche per accedere ad 
un database MDB (Access) residente sul mio PC, opportunamente configurato 
con un DNS.
La prima è una applicazione da console:
public RaDExLoader()
    {
        super();
        if(TestDBInterface()) System.out.println("Connection OK");
        else System.out.println("Connection error");
    }
    public boolean TestDBInterface()
    {
       try
       {
           String connString = "jdbc:odbc:UrbinoRDE";
           String user = "";
           String pwd = "";
           System.out.println("Opening connection: user=" + user + " | 
password=" + pwd);
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           Connection conn = DriverManager.getConnection(connString, user , 
pwd);
           Statement stmt = conn.createStatement();
           conn.close();
           stmt.close();
           return true;
       }
       catch(Exception e)
       {
           e.printStackTrace();
           return false;
       }
    }
l'applicazione accede correttamente al database e ritorna "OK";
La seconda applicazione è una servlet creata con Eclipse + Lomboz + Tomcat 
5:
public class ProjectList extends HttpServlet
{
    protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException
    {
        PrintWriter pw = response.getWriter();
        try
        {
            String user = request.getParameter("user");
            if(user == null) user = "";
            String pwd = request.getParameter("passwd");
            if(pwd == null ) pwd = "";
            String connString = "jdbc:odbc:UrbinoRDE";
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection(connString, user, 
pwd);
            pw.println("OK");
        }
        catch(Exception ex)
        {
            pw.println(ex.toString());
        }
    }
}
Questa ritorna una SqlException: java.sql.SQLException: [Microsoft][Driver 
Manager ODBC] Nome origine dati non trovato e driver predefinito non 
specificato.
L'accesso al database + identico però in entrambi i casi!
E' normale che accada ciò, nel senso che le servlet non possono accedere a 
risorse locali o qualcosa del genere? 

 risorse locali o qualcosa del genere? 
Ma secondo te ? Non sono mica Applet.

Ma secondo te ? Non sono mica Applet.
OK ma io mi riferivo a risorse locali del server...
grazie cmq per la risposta

 risorse locali o qualcosa del genere? 
forse devi fare un dsn di sistema,
p.s.
ma devi scrivere una web application ?
nel caso sei un po' fuori strada ... se accedi in quel modo al db ti screi un sacco di problemi ...
ti conviene l'architettura dei datasource e dei connection pool
(cosa molto più semplice di quel che sembra)
miaooo maks.

(cosa molto più semplice di quel che sembra)
No era solo per fare dei test senza installare MySQL... 

D_Guidi ha scritto:




Non ti ha dato risposte, solo altre domande...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Non ti ha dato risposte, solo altre domande...
"Magari hai definito il nome tra i DSN Utente e non DSN Sistema ?"
Sarà pure sintatticamente una domanda ma era la risposta che cercavo :)