Programme Java pour se connecter à Sql Server et exécuter l'exemple de requête à partir d'Eclipse
package sqlselection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Sqlselection
{
public static void main(String[] args)
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String userName = "sa";
String password = "password";
String url = "jdbc:microsoft:sqlserver://localhost:1433"+";databaseName=AdventureWorks2008R2";
Connection con = DriverManager.getConnection(url, userName, password);
Statement s1 = con.createStatement();
ResultSet rs = s1.executeQuery("SELECT TOP 1 * FROM HumanResources.Employee");
String[] result = new String[20];
if(rs!=null){
while (rs.next()){
for(int i = 0; i <result.length ;i++)
{
for(int j = 0; j <result.length;j++)
{
result[j]=rs.getString(i);
System.out.println(result[j]);
}
}
}
}
//String result = new result[20];
} catch (Exception e)
{
e.printStackTrace();
}
}
}
enter code here
Ce qui précède est mon exemple de programme pour se connecter au serveur Sql pour exécuter l'exemple de requête select à partir d'eclipse.
Je reçois l'erreur ci-dessous.
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at sqlselection.Sqlselection.main(Sqlselection.java:13)
J'ai ajouté le sqljdbc.jar, sqljdbc4.pot à la bibliothèque. Aide pour résoudre ce problème
8 answers
Le problème est avec Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cette ligne. Le nom qualifié de classe est incorrect
C'est sqlserver.jdbc
pas jdbc.sqlserver
Vous avez oublié d'ajouter le sqlserver.jar
dans la bibliothèque externe eclipse
suivez le processus pour ajouter des fichiers jar
- Faites un clic droit sur votre projet.
- cliquez sur buildpath
- cliquez sur configurer le chemin bulid
- cliquez sur ajouter un pot externe, puis donnez le chemin du pot
Reportez-vous au lien ci-dessous.
Il y a deux changements importants que vous devriez faire
Nom du pilote comme "com.Microsoft.sqlserver.jdbc.SQLServerDriver "
& URL "jdbc:sqlserver://localhost:1433"+";databaseName=AdventureWorks2008R2"
Faites un clic droit sur votre projet - - - > Chemin de construction - - - - > configurer le chemin de construction - - - - > Onglet Bibliothèques - - - > Ajouter des fichiers jar externes - - - >(Accédez à l'emplacement où vous avez conservé le fichier jar du pilote sql) - - - >ok
Ajouter sqlserver.jar
Voici lien
Comme son nom l'indique ClassNotFoundException
en Java est une sous-classe de java.lang.Exception
et vient lorsque Java Virtual Machineessaie de charger une classe particulière et n'a pas trouvé la classe demandée dans classpath.
Un autre point important à propos de cette exception est qu'il s'agit d'une Exception vérifiée et que vous devez fournir explicitement une gestion des exceptions tout en utilisant des méthodes qui peuvent éventuellement lancer ClassNotFoundException
en java soit en utilisant try-catch bloquer ou en utilisant la clause throws.
Télécharger Microsoft JDBC Driver 4.0 pour SQL Server qui prend en charge:
SQL Server versions: 2005, 2008, 2008 R2, and 2012.
JDK version: 5.0 and 6.0.
Exécutez le programme téléchargé sqljdbc__.EXE. Il extraira les fichiers dans un répertoire spécifié (par défaut est Microsoft JDBC Driver 4.0 pour SQL Server). Vous trouverez deux fichiers jar sqljdbc.jar (pour JDBC 3.0) et sqljdbc4.jar (pour JDBC 4.0), plus certains .les fichiers dll et les fichiers d'aide HTML.
Placez le sqljdbc4.fichier jar sous le chemin de classe de votre application si vous utilisez JDK 4.0 ou sqljdbc4.1.fichier jar si vous utilisez JDK 6.0 ou une version ultérieure.
Il suffit de Changer la requête comme ceci:
SELECT TOP 1 * FROM [HumanResources].[Employee]
Où Employee
est le nom de votre table et HumanResources
est le nom de votre schéma si je ne me trompe pas.
J'espère que votre problème sera résolu. :)