Newsgroup: it.comp.java
Titolo: JDBC senza DNS

Come posso collegarmi ad un database senza dover creare un DNS dal pannello
di controllo?
Se distribuisco la mia applicazione a qualcun'altro, non posso fargli creare
un DNS tutte le volte che ha bisogno di un db!!! E poi come farei con la
portabilità se c'é quel DNS in mezzo?

 ha scritto nel
messaggio news:ad0mr8$6034$1...@stargate1.inet.it...

Non usi Access ;)
Se usi ad esempio MySql (nomino questo perché è quello che uso io ed è free,
ma ce ne sono molti altri) ti colleghi al DB direttamente con i Driver JDBC,
e non devi usare il JDBC-ODBC Bridge come per Access...
www.mysql.org
Ciao, Gianluca

E poi come farei con la portabilità se c'é quel DNS in mezzo?
Se hai problemi di DSN (non DNS) significa che usi odbc: questo non lo 
porti da nessuna parte ;-)
HTH
-- 
Ciao
	Fabrizio C.

Per fortuna che odio Access...
Come devo scrivere l'indirizzo per connetterni?
jdbc:MySql:nomefile ??

 jdbc:MySql:nomefile ??
In rete ci sono un sacco di risorse, cmq ti incollo un esempio che ho
trovato con google (cosa farei se non ci fosse =)))) ).
L'esempio utilizza i driver mmMySql che trovi sempre sul sito 
www.mysql.org
,
comunque la sintassi per la connessione č:
jdbc:mysql://{url|ip}:{port}/{dbName}
...
public class ConnectCoffeesMM {
    public static void main(String args[]) {
	// The URL that will connect to TECFA's MySQL server
        // Syntax: jdbc:TYPE:machine:port/DB_NAME
        String url = "jdbc:mysql://
tecfa2.unige.ch:3306/COFFEEBREAK
";
	// INSTALL/load the Driver (Vendor specific Code)
	try {
	    Class.forName("org.gjt.mm.mysql.Driver");
	} catch(java.lang.ClassNotFoundException e) {
	    System.err.print("ClassNotFoundException: ");
	    System.err.println(e.getMessage());
	}
        try {
	    Connection con;
	    Statement stmt;
	    // Establish Connection to the database at URL with usename and
password
            con = DriverManager.getConnection(url, "nobody", null);
	    System.out.println ("Hello, Connection to the COFFEEBREAK table
worked");
            con.close();
        } catch(SQLException ex) {
            System.err.println("==> SQLException: ");
	      while (ex != null) {
		  System.out.println("Message:   " + ex.getMessage ());
		  System.out.println("SQLState:  " + ex.getSQLState ());
		  System.out.println("ErrorCode: " + ex.getErrorCode ());
		  ex = ex.getNextException();
		  System.out.println("");
	      }
        }
    }
}
Ciao, Gianluca


Se puoi appoggiarti ad un DB che non sia access e comunque non ODBC, e ti interessa una
soluzione pura java considera l'uso di HSQLDB (aka Hypersonic SQL). 
Dai un'occhiata a questo thread postai anche un esempio che ti sara' utile:
http://groups.google.com/groups?hl=en&lr=&ie=UTF8&oe=UTF8&th=be042bd0a31d745d&rnum=1
Ciao,
    Bruno.
P.S.
Cristiano, se sei in ascolto, che ne dici di raccogliere le risposte che sono state date a
questa domanda e raccoglierle in una risposta delle FAQ? Magari c'e' gia'... oops :-)
---
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola


Ciao,
come ti dicevano i post precedenti basta usare un DB al quale tu ti possa
connettere
usando JDBC puro! (Quindi senza il ponte con lo ODBC di casa Microsoft....e
solo di casa M. credo....)
Ad es. per MySQL esistono un paio di driver pure java per questo tipo di
connessione:
il piu' usato e forse il migliore e': mm.mysql
la stringa da passare per la connessione e'
"jdbc:mysql://nomemacchina:3306/NomeDB(utente)"
mentre il driver e'
org.gjt.mm.mysql.Driver
ossia
......
Class.forName("org.gjt.mm.mysql.Driver");
Connection c =
DriverManager.getConnection("jdbc:mysql://localhost:3306/database(root)");
............
Cmq. gli esempi in rete si sprecano
Ciao
Gianluca

Grazie a tutti! :-D