Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Connessione JDBC a SQLServer2000

    Salve a tutti, sono nuovo di Java. Dopo un pò di teoria, sto provando a cimentarmi con qualche programma più utile di "Hello world" o la somma di due interi.
    Lavoro da anni su SQLServer, quindi perchè non provare a realizzare una classe che si connetta ad un mio database ?
    Ho trovato (qui e altrove) alcuni esempi, tutti utili e chiari, purtroppo però a me non funzionano.
    Sto provando un codice di esempio trovato in questo forum e uno simile trovato su MSDN.
    Forse il problema è nel driver jdbc, nel senso che ho scaricato un file sqlserver.jar, l'ho messo nella sottocartella lib di JBuilder e la mia CLASSPATH è

    .; = files\Microsoft SQL Server 2000 Driver C:\JBuilder8\lib\sqlserver.jar

    Le righe di codice interessanti sono:

    codice:
    Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    
    db = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", nomeUtente, pwdUtente);
    Ma l'errore che ricevo è:

    java.lang.NullPointerException
    su
    com.microsoft.jdbc.sqlserver.SQLServerDriver
    Dove sbaglio ? Forse non ho il file JAR corretto (leggevo da qualche parte su MSDN che dovrebbero essere tre i file jar da includere nel classpath)

    Qualcuno saprebbe aiutarmi ? Credo mi basti proprio lo spunto, e poi vado da solo (almeno spero...)

    Grazie
    Ciao
    Sem nasù per patì, patèm!

  2. #2
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    il metodo corretto è così :

    codice:
    	public boolean connettiJDBC(String serverName, String portNumber, String databaseName, String username, String password) throws Exception {
    
    		connesso = false;
    		String conString = "";
    		
    
        	 // Carico il bridge JDBC-ODBC per la connessione con il database
    		//System.out.println("Carico il driver JDBC");
    
    		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    
    		//System.out.println("Preparo la stringa di connessione") ;
    		
    		conString = "jdbc:sqlserver://" + serverName + ":" + portNumber + ";databaseName="+databaseName+";";
    		
    		//System.out.println("Stringa di connessione = " + conString) ;
    
    		// Effettuo la connessione
    		//System.out.println("Tentativo di connnessione");
    
    		db = java.sql.DriverManager.getConnection(conString,username,password);
    		
    		// La connessione è avvenuta con successo
    		//System.out.println("Connnessione db effettuata con successo");
    		connesso = true;
    			
    		return connesso;
    	}
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  3. #3
    Nella tua versione cambia la stringa ma l'errore è sempre il medesimo su com.microsoft.sqlserver.jdbc.SQLServerDriver

    Sem nasù per patì, patèm!

  4. #4
    mi è venuto un dubbissimo !

    Su MSDN leggo :
    Ogni fornitore di un ambiente di sviluppo integrato ha un metodo diverso per impostare il classpath nell'IDE. La semplice impostazione del classpath nel sistema operativo non funzionerà. È necessario aggiungere sqljdbc.jar al classpath IDE.
    Non è che il motivo sia quello ? Io utilizzo JBuilder, ma non trovo dove impostare la classpath,perchè a questo punto temo che quel che ho scritto nella variabile d'ambiente non venga considerato

    Voi che dite ?

    C'è qualcuno ?

    Grazie
    Sem nasù per patì, patèm!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Siccome io evito di utilizzare gli ambienti di sviluppo e faccio tutto a mano, il mio consiglio è quello di provare a decomprimere il JAR all'interno della directory del programma che stai sviluppando.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Fatto.
    Stesso problema.

    Desperate Developers


    Per la cronaca, ho provato anche a compilare con javac dalla linea di comando (quindi la classpath dovrebbe leggerla...), ma mi dà altri problemi, probabilmente dovuti alla configurazione del PC: ora ci lavoro anche su questo

    Faccio qualche altro giro sul web alla ricerca di info, se nel frattempo qualcuno avesse qualche idea sarà ben accetta...

    Grazie
    Ciao
    Sem nasù per patì, patèm!

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    jbuilder (credo) sovrascrive il classpath
    se metti il jar in project properties - paths - required libraries sei a posto
    cmq esiste una libreria per connettersi a sql server migliore di quella MS, http://jtds.sourceforge.net/

  8. #8
    FANTASTICO !!! FUNZIONA !!!

    Ora proverò il nuovo driver che mi hai consgiliato

    Grazie a tutti

    Ciao
    Sem nasù per patì, patèm!

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.