Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684

    [jsp] connessione DB sql

    Ciao a tutti...ho creato la mia prima pagina jsp...l'idea era quella di connettersi ad un DB e leggere tutti i record di una tabella, il codice il seguente:

    codice:
    <%@page language="java"%> 
       
    <%@page import="java.util.*"%> 
    <%@page import="java.sql.*"%> 
    <%@page import="java.io.*"%> 
    <%@page import="javax.servlet.*"%>   
       
    <html>   
         <head>   
             <title> Table </title>   
         </head>   
       
         <body>   
         <% 
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                Connection connection=DriverManager.getConnection("jdbc:odbc:testdb.TEST"); 
                Statement statement = connection.createStatement(); 
               
              String sql="select * from UserTable";   
       
                 ResultSet rs = statement.executeQuery(sql); 
                   
                             while(rs.next()){ 
                 
                             String Nome=rs.getString(1); 
                             String Cognome=rs.getString(2); 
       
                                     %> 
                       
                         
     Nome <%=Nome%> 
                                  Cognome <%=Cognome%> 
       
                                     <% 
                       
                     } 
               
              connection.close(); 
           
    %> 
       
        </body>   
       
    </html>
    Il risultato è il seguente errore:

    javax.servlet.ServletException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:843)
    org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:776)
    org.apache.jsp.index_jsp._jspService(index_jsp.jav a:117)
    org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    Qualcuno sa spiegarmi il motivo?
    Il Db è su un server differente (stessa rete) e il nome è corretto...!

    Grazie mille
    Oppa

  2. #2
    1) Se usi "sun.jdbc.odbc.JdbcOdbcDriver" divi essere certo che il tuo db sia abilitato a ricevere le chiamate odbc. Cmq ti consiglio di usare i driver specifici per il tuo db, ogni db ha i suoi, facilmente reperibili online.

    2) In genere la comunicazione dei db avviene su porta ip, controlla che la porta che utilizzi per il tuo sia aperta in ingresso.

    3)Controlla che l'utente che stai usando per l'accesso abbia i permessi sufficienti per il tuo db

  3. #3
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684
    Ok, grazie, controllo tutto! =)
    Oppa

  4. #4
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684
    Funziona...ho fatto un piccolo errorino!

    Grazieeee...!
    Oppa

  5. #5
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684
    Scusa, altra domandina: se volessi fare una delete invece di una select?

    codice:
    <%
    	String ID = request.getParameter("nome");
    	
          try {
    	  
    			String connectionURL = "jdbc:sqlserver://x.x.x.x:1433;databaseName=TEST;user=xx;password=xx;";
    	
    			Connection connection = null;
    			Statement statement = null;
              
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
              	connection = DriverManager.getConnection(connectionURL);
    
    			statement = connection.createStatement();
    
              String QueryString = "DELETE UserTable WHERE Nome = '$ID' ";
              statement.executeQuery(QueryString);
     
    	} catch (Exception ex) {
                    out.println(ex);
                }
    %>
    non ci sono errori ma non cancella nulla...!

    Grazie
    Oppa

  6. #6
    codice:
    String QueryString = "DELETE UserTable WHERE Nome = '$ID' ";
    statement.executeQuery(QueryString);
    quando non fai il comando select devi usare

    codice:
    statement.executeUpdate(QueryString);

  7. #7
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684
    Non cambia...nessun errore ma il record non viene cancellato...
    Oppa

  8. #8
    prova a fare
    codice:
    DELETE FROM
    UserTable WHERE Nome = '$ID'

  9. #9
    Utente di HTML.it L'avatar di power83
    Registrato dal
    Oct 2002
    Messaggi
    684
    Originariamente inviato da DonFrignolo
    prova a fare
    codice:
    DELETE FROM
    UserTable WHERE Nome = '$ID'
    Non cambia...uff...almeno ci fosse un errore da cui partire...!

    Grazie
    Oppa

  10. #10
    Originariamente inviato da power83
    Non cambia...uff...almeno ci fosse un errore da cui partire...!

    Grazie
    allora vuol dire che '$ID' non esiste.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.