Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    6

    [Java] Connessione ad un database con Java?

    Innanzitutto un saluto a tutti, questo è il mio primo messaggio , poi passo subito alla domanda fatale...
    Come faccio a collegarmi ad un database attraverso un programmino in java e a mandare comandi SQL?
    Ho cercato dei tutorial sul web, ma non ho ben capito cosa devo fare visto che continuano a venirmi fuori delle eccezioni di UnknownSource e problemi col Driver
    Allora la situazione è questa:
    -Ho Windows (non so se è importante)
    -Ho creato un database di prova con EasyPHP
    -Ho installato Tomcat e copiato il db dentro /webapps
    -Ho fatto un programmino che si connette a localhost e tira fuori i dati, ma a questo punto parte l'eccezione (cioè quando cerco di connettermi)
    -Nel programmino carico il driver JdbcOdbcDriver
    -La connessione la faccio a jdbcdbc://localhost:8080
    La domanda è "cosa devo fare"? Evidentemente mi sfugge qualcosa di basilare, ma d'altra parte questo è il mio primo programma del genere... Qualcuno potrebbe farmi un rapido aggiornamento sulle procedue corrette?
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Hai fatto una ricerca con Google?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    6
    Si, ho anche guardato il post di LeleFT, ma non riesco a capire perchè non va...
    Questo è il codice:

    import java.sql.*;

    public class Main {

    public static void main(String[] args) {
    try {

    //Creazione della connessione Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Qui ci metto il driver che voglio usare giusto?
    Connection con = DriverManager.getConnection("jdbcdbc://localhost/prova","user","user");//Ho copiato la cartella prova dentro webapps di Tomcat (che è attivo). L'eccezione è qui ho anche provato a mettere :8080 per specificare la porta ma non va lo stesso

    //1. creazione di un comando
    Statement stat = con.createStatement();

    //2. esecuzione della interrogazione
    ResultSet rs = stat.executeQuery("select * from tabella1");// Comando sql

    //3. Estrazione dei dati
    while(rs.next()) {

    //4. Estrazione di un campo
    String s = rs.getString("nome");
    int i = rs.getInt("numero");
    System.out.println(s); System.out.println(i);
    }
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    catch (SQLException e1) {
    e1.printStackTrace();
    }
    }
    }

    Questa è l'eccezione
    java.sql.SQLException: [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknow n Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Main.main(Main.java:9)

  4. #4
    mysql o access?

    Con easyphp ti colleghi ad un database mysql?
    Se è così il driver è sbagliato! per quello giusto cerca nel sito ufficiale di mysql.
    Per un database access devi andare nel pannello di controllo -> odbc -> add -> inserisci un nuovo dsn poi segui istruzioni.
    poi la tua stringa url sarà: jdbcdbc:nome_DSN_CREATO.
    /*no comment*/

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    6
    Ho copiato il jar del connectorJ dentro la cartella
    C:\Programmi\Java\jdk1.5.0_06\jre\lib\ext
    Il driver viene caricato, ma quando tento di effettuare la connessione tramite
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/prova","user","user");//dburl
    Mi viene fuori questa eccezione
    com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
    MESSAGE: java.net.ConnectException: Connection refused: connect

    Se metto localhost:8080 allora non viene fuori l'eccezione, ma il programma va in qualche genere di loop e non fa più niente

    Quando faccio partire il programma ho acceso Tomcat. Il database è nella cartella "prova" dentro webapps...
    Come faccio a risolvere il problema? Può essere dovuto a eventuali firewall che bloccano il tentativo di connessione?

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    il database non deve stare dentro tomcat
    sta per gli affari suoi e risponde alle connessioni su una porta (che in mysql è la 3306)

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    6
    Ora viene fuori quest eccezione
    java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

    Non è che potreste farmi un esempio su come fare la connessione e dove mettere il db? Ho letto quella tra le "Pillole", ma non riesco a farla funzionare

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    6
    Come non detto, sono riuscito a risolvere il problema

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    1

    aiutooo

    visto che sei riuscito a collegarti al database access non e' che mi manderesti le righe di codice che funzionano???io non riesco a connettermi!!!! ti prego aiutoooo!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.