|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
[JAVA] Connessione a db Sql Server 2005 attraverso JDBC
Ho bisogno di accedere ad un db gestito con SQL Server 2005 Express da un programma scritto in java.
Ho scaricato ed il SQL Server 2005 Express dal sito Microsoft. Il servizio è correttamente avviato. Ho scaricato anche il driver JDBC da qui e l'ho posizionato nel file system al percorso C:\Programmi\MicrosoftSQLServer2005JDBCDriver\sqljdbc_1.2\ita\sqljdbc.jar Ho provato a testare la connessione al db attraverso questo semplice programma: Codice PHP:
Codice:
run: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at dbtest.Main.main(Main.java:30) Codice:
Exception in thread "main" java.lang.NoClassDefFoundError: Main Caused by: java.lang.ClassNotFoundException: Main at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) ![]() GRAZIE Ultima modifica di VegetaSSJ5 : 05-06-2008 alle 19:31. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
in netbeans hai aggiunto la libreria del driver sql?
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
prendi la libreria in jar e la aggiungi tramite il procedimento qui sotto descritto:
nella scehrmata ad albero del progetto clikki cn il destro su library e scegli di aggiungere un jar. a me questo problema lo faceva con il driver mysql
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
su netbeans c'è un tool comodo per sviluppare applicazioni che si appoggiano ad un database.
andando su: File -> New Project -> Java -> Java Desktop Application -> Next -> Database Application -> Next -> Database Connection -> New Database Connection... -> Name -> New Driver... -> Add -> [DRIVER JDBC SQL SERVER] e quindi impostando la stringa di connessione e i dati per l'accesso, dovrebbe effettuare da solo una connessione al db, ma a me non funziona e restituisce questo errore: ![]() qualcuno riesce invece a connettersi con successo in questo modo? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
In NetBeans:
click destro sull'icona del progetto nella tree view "Project" e selezioni l'ultima voce del contest menu: "Properties". Si apre una dialog: anche qui c'è una tree view a sinistra; click per selezionare la voce "Libraries", quindi click sul bottone "Add Jar/Folders..." e selezioni il file .jar da aggiungere.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() Il problema del jar mancante nel classpath tra l'altro avviene solo al run-time e non al compile-time perchè il driver viene caricato dinamicamente tramite Class.forName()
__________________
![]() |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
RISOLTO
ragazzi, problema risolto!
![]() diciamo che per trovare la soluzione sono quasi impazzito, per questo la posto qui così da evitare l'impazzimento di qualcun altro che si potesse trovare nella mia stessa situazione. Il problema non riguardava nè netbeans, nè il classpath, nè il driver jdbc; bisognava attivare la cosiddetta "trusted connection" su SQL Server in questo modo: (questo è valido per la versione express, cmq penso che per quella full il procedimento sia simile) Aprire SQL Server Management Studio Express ed entrare facendo il login. Nella colonna di sinistra (Esplora oggetti) cliccare col destro sull'istanza del server in esecuzione, quindi su Proprietà. Nella finestra che si apre cliccare su Protezione -> Autenticazione di SQL Server e di Windows. Grazie a chiunque sia intervenuto in questa discussione. ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:20.