2014-07-21 7 views
7

Ho riscontrato il seguente errore durante il tentativo di connessione a un database utilizzando SQuirreLSQL.Impossibile connettersi al database SQL utilizzando SQuirrelSQL

Errore:

Unexpected Error occured attempting to open an SQL connection 

Stacktrace:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:202) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:175) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104) 
    ... 5 more 
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at net.sourceforge.squirrel_sql.fw.util.MyURLClassLoader.findClass(MyURLClassLoader.java:209) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:128) 
    at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167) 
    ... 7 more 

Ho anche cercato di controllare la proprietà del driver e viene visualizzato il seguente errore: driver JDBC

Caricamento "Microsoft MSSQL Server JDBC Driver" fallito. Impossibile caricare la scheda delle proprietà del driver.

+4

Avete installato il driver JDBC MSSQL e lo avete reso disponibile a SQuirrel tramite il suo gestore di driver? Hai letto la sezione [Introduzione, Funzioni e schermate] (http://www.squirrelsql.org/index.php?page=screenshots)? – MadProgrammer

+4

Mi dispiace per l'ultimo aggiornamento. Si scopre che non ho ancora configurato il driver. Il problema è stato risolto dopo aver inserito sqljdbc4.jar in SQuirrel> Contenuti> Risorse> Java> lib. Apprezzo la tua risposta. Grazie mille :) – ariabele

+0

@ariabele dove trovare sqljdbc4.jar? – zhanxw

risposta

3

È necessario copiare il driver nella cartella squirrel-sql/lib. Ho avuto lo stesso problema con il driver MySql. Dopo copiato pilotato in:

$HOME/squirrel-sql-3.7/lib/mysql-connector-java-3.0.17-ga-bin.jar 

e riavviare Squirrel - non vi era più alcun errore.