Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2006, 15:20   #1
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
[Java] connessione ad un Data Base SQL Server

Premetto che il seguente codice non è mio: l'ho trovato in Internet. Ho installato le JDBC della Microsoft per SQL Server 2000 e ho aggiornato il CLASSPATH (credo, in realtà). Il problema è che ogni volta mi dà la stessa eccezione: "Could not find the database driver". Pensavo che l'indirizzo di registrazione dei driver fosse sbagliato ma ho controllato nella guida ufficiale e non è così. Per quanto riguarda l'indirizzo del server ci sono dati ipotetici non corrispondenti a nessun database esistente ma non è questo il problema, altrimenti mi darebbe un altro messaggio di errore...

Dove sto sbagliando?

Codice:
import java.sql.*;

public class SQLHere {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Connection connection = null;
	    try {
	    	String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	        String serverName = "127.0.0.1";
	        String portNumber = "1433";
	        String mydatabase = serverName + ":" + portNumber;
	        String url = "jdbc:JSQLConnect://" + mydatabase; // a JDBC url
	        String username = "username";
	        String password = "password";
	    
	        // Load the JDBC driver
	        Class.forName(driverName);
	    
	        // Create a connection to the database
	        connection = DriverManager.getConnection(url, username, password);
	    } catch (ClassNotFoundException e) {
	        System.out.println("Could not find the database driver");
	    } catch (SQLException e) {
	    	System.out.println("Could not connect to the database");
	    }


	}

}
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2006, 15:33   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
ClassNotFoundException?
penso che tu non abbia aggiunto correttamente al classpath il driver.
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2006, 15:34   #3
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
A quanto pare non sono affatto sicuro di aver aggiornato il CLASSPATH... qualcuno mi spiega come si fa?

Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2006, 15:41   #4
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Scusate, ho risolto!

(dovrei proprio imparare ad avere più pazienza, vero?)
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2006, 18:51   #5
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Quote:
Originariamente inviato da Corvo80
Scusate, ho risolto!

era quello?
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2006, 13:36   #6
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Ovviamente sì... cmq ora ho un nuovo problema: riesco a connettermi ad un database remoto ma se tento di connettermi ad un database locale mi dà eccezione "Could not connect to the database".

Tengo a precisare che ho modificato il codice:

Codice:
import java.sql.*;

public class SQLHere {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Connection connection = null;
	    try {
	    	String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	        String username = "username";
	        String password = "password";
	    
	        // Load the driver
	        Class.forName(driverName);
	    
	        // Create a connection to the database
	        connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://locale:1433;DatabaseName=database01", username, password);
	    } catch (ClassNotFoundException e) {
	        System.out.println("Could not find the database driver");
	    } catch (SQLException e) {
	    	System.out.println("Could not connect to the database");
	    }
	}
}
NB I campi user, pass e l'indirizzo e nome del database sono fittizi ma nella mia macchina ho provato (ovviamente) con quelli veri.

Dove potrebbe stare l'errore? Forse gli dà fastidio che sia locale? Possibile?

Ultima modifica di Corvo80 : 20-01-2006 alle 13:56.
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 08:15   #7
Zeus84
Senior Member
 
Iscritto dal: Dec 2002
Città: Bologna
Messaggi: 483
Normalmente non dovrebbero esserci problemi se il database è locale..l'unico dubbio che mi sorge è che alcuni database hanno driver distinti nel caso in cui ti stia colleganto ad un database locale o ad uno remoto...controlla se nel tuo caso è così..
Un'altro possibile dubbio: hai dei firewall attivi sul pc?
__________________
Acer TravelMate 8103Wlmi
Zeus84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2006, 15:57   #8
Cryingcrow
Senior Member
 
L'Avatar di Cryingcrow
 
Iscritto dal: Mar 2004
Messaggi: 502
Magari al posto di "locale" va "localhost" (o 127.0.0.1)? o la tua macchina si chiama locale

connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=database01", username, password);

Poi ti conviene stampare direttamente l'eerore che magari si capisce dov'è che sbagli...

catch (SQLException e) {
e.printStackTrace(); <--nn sono sicuro sia così però è na roba simile
}


P.S. potrebbbero essere tutte cagate
Cryingcrow è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2006, 13:31   #9
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Quote:
Originariamente inviato da Cryingcrow
Magari al posto di "locale" va "localhost" (o 127.0.0.1)? o la tua macchina si chiama locale
Evidentemente ti è sfuggita la mia nota...

x Zeus: grazie ora provo...
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2006, 14:00   #10
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Nisba: nè l'uno nè l'altro. L'eccezione che mi dà il compilatore è

[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

Ma ho verificato:

a) Il nome del PC è esatto e la macchina lo pinga.
b) Il protocollo TCP/IP è enabled.
c) La porta è corretta.
d) Il database server è avviato (tant'è che riesco ad accedervi tranquillamente con qualunque altro applicativo).
e) User e Password sono esatti, li ho verificati tramite altri mezzi.


... ma cosa cavolo succede?!!!
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2006, 22:12   #11
Cryingcrow
Senior Member
 
L'Avatar di Cryingcrow
 
Iscritto dal: Mar 2004
Messaggi: 502
Ops sorry, non avevo letto la nota in fondo..

Ho letto che il problema potrebbe essere proprio il nome della macchina, prova a inserire l'ip direttamente del pc...

forse qua trovi qualcosa http://forum.java.sun.com/thread.jspa?threadID=419214 è la prima cosa che mi è uscita cercando il tuo errore su gugol (e dove ho letto dell'ip..)

byez
Cryingcrow è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2006, 07:30   #12
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Quote:
Originariamente inviato da Cryingcrow
Ops sorry, non avevo letto la nota in fondo..

Ho letto che il problema potrebbe essere proprio il nome della macchina, prova a inserire l'ip direttamente del pc...

forse qua trovi qualcosa http://forum.java.sun.com/thread.jspa?threadID=419214 è la prima cosa che mi è uscita cercando il tuo errore su gugol (e dove ho letto dell'ip..)

byez
No il nome della macchina non può essere dato che lo pinga e che se provo con un altro server (sempre specificando il nome) funziona. Ho provato anche con l'indirizzo IP ma non c'è niente da fare...

BOH?!!!
Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2006, 13:24   #13
Corvo80
Member
 
Iscritto dal: Dec 2004
Città: Treviso e Udine
Messaggi: 258
Uppo nella speranza che qualcuno possa avere un'illuminazione...

Corvo80 è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2006, 16:22   #14
ginogino65
Senior Member
 
Iscritto dal: Aug 2005
Città: Aulla (MS)
Messaggi: 1309
Quote:
Originariamente inviato da Corvo80
Uppo nella speranza che qualcuno possa avere un'illuminazione...

Credo di avere trovato il problema.

Il drive jdbc di microsoft per sql server non supporta le trusted SQL Server connection, trovi maggiori dettagli qui:

http://support.microsoft.com/default...b;en-us;313100

con il codice della prima pagina modificando la connessione in questo modo:

connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.60:1433;DatabaseName=Archivio;user=pippo;password=cane");

il codice funziona, purtruppo l'utente pippo deve essere un utente di Sql server e non facente parte di un dominio.
ginogino65 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2006, 18:21   #15
ginogino65
Senior Member
 
Iscritto dal: Aug 2005
Città: Aulla (MS)
Messaggi: 1309
Quote:
Originariamente inviato da ginogino65
Credo di avere trovato il problema.

Il drive jdbc di microsoft per sql server non supporta le trusted SQL Server connection, trovi maggiori dettagli qui:

http://support.microsoft.com/default...b;en-us;313100

con il codice della prima pagina modificando la connessione in questo modo:

connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.60:1433;DatabaseName=Archivio;user=pippo;password=cane");

il codice funziona, purtruppo l'utente pippo deve essere un utente di Sql server e non facente parte di un dominio.

Ho trovato un driver jdbc open source qui:

http://jtds.sourceforge.net/

con questo driver sono riuscito ad avere una connessione trusted utilizzando un utente del dominio, il codice è questo:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Date;
import java.sql.SQLException;

public class TestConnessione {
public static void main(String args[]) {

// TODO Auto-generated method stub
Connection connection = null;
try {
// String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String driverName = "net.sourceforge.jtds.jdbc.Driver";
String serverName = "192.168.1.60";
String nomedatabase = "Archivio";
String portNumber = "1433";
String mydatabase = serverName + ":" + portNumber;
String nomedominio = "CICERONE";
String url = "jdbc:jtds:sqlserver://" + mydatabase + ";Database=" + nomedatabase + ";domain=" + nomedominio; // a JDBC url
String username = "ginogino";
String password = "federica74942";

// Load the JDBC driver
Class.forName(driverName);

// Create a connection to the database
connection = DriverManager.getConnection(url, username, password);


// Execute a query
Statement stmt = connection.createStatement();
String sql;
sql="SELECT CODFISC, COGNOMENOME FROM tbPersonale order by COGNOMENOME;";
ResultSet rs = stmt.executeQuery(sql);

// Estrazione Dati
while(rs.next() ) {

// Legge i valori
String CODFISC = rs.getString("CODFISC");
String COGNOMENOME = rs.getString("COGNOMENOME");

// Visualizza i dati
System.out.print("Codice Fiscale: " + CODFISC );
System.out.println("Cognome e Nome: " + COGNOMENOME );

}



} catch (ClassNotFoundException e) {
System.out.println("Could not find the database driver");
} catch (SQLException e) {
System.out.println("Could not connect to the database");
}


}
}
ginogino65 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Huawei punta sul mercato auto europeo: i...
La telepatia diventa realtà: una start-u...
Il Samsung Galaxy S26 Pro sarà un...
Amazon: in arrivo degli occhiali AR per ...
Un Tesla Cybertruck per le vie di Milano...
Qualcomm Quick Charge 5+: il nuovo siste...
Google Pixel Buds A-Series quasi a met&a...
Google contro le immagini fake fatte con...
Narwal Flow sbarca su Amazon: due robot ...
Bioshock: il film di Netflix si far&agra...
Samsung 'trolla' Apple su X con la campa...
Apple Watch Series 11, Ultra 3 e SE 3 gi...
Landspace: il fallimento del lancio di u...
Windows 11 25H2: Microsoft rilascia le I...
Milano, dal 15 settembre via alle multe ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v