web-dev-qa-db-fra.com

Programme Java pour se connecter à SQL Server et exécuter l'exemple de requête 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

Ci-dessus est mon exemple de programme pour me connecter au serveur SQL afin d'exécuter l'exemple de requête de sélection 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.jar à la bibliothèque . Aide à résoudre ce problème

8
Venkat

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

6
Rajendra

vous avez oublié d'ajouter le sqlserver.jar dans la bibliothèque externe Eclipse

  1. Faites un clic droit sur votre projet.
  2. cliquez buildpath
  3. cliquez sur configurer le chemin bulid
  4. cliquez sur Ajouter un pot externe, puis donnez le chemin du pot.
5
SpringLearner

Reportez-vous au lien ci-dessous.

Il y a deux changements importants que vous devriez faire

nom du pilote en tant que "com.Microsoft.sqlserver.jdbc.SQLServerDriver"

& in URL "jdbc: sqlserver: // localhost: 1433" + "; databaseName = AdventureWorks2008R2"

http://www.programcreek.com/2010/05/Java-code-for-connecting-ms-sql-server-by-using-sql-server-authentication/

3
Darshan Shah

Ajouter sqlserver.jarVoici _ lien _

Comme son nom l'indique, ClassNotFoundException en Java est une sous-classe de Java.lang.Exception et vient lorsque Java Virtual Machine essaie de charger une classe particulière et que 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 Checked et que vous devez fournir explicitement le traitement des exceptions lors de l’utilisation de méthodes qui peuvent éventuellement lancer ClassNotFoundException en Java, en utilisant try-catch block ou en utilisant la clause throws. 

Documentation Oracle

public class ClassNotFoundException
 extends ReflectiveOperationException

Lancé lorsqu'une application tente de charger une classe via son nom de chaîne en utilisant:

  • La méthode forName dans la classe Class.
  • La méthode findSystemClass dans la classe ClassLoader.
  • La méthode loadClass dans la classe ClassLoader. 

mais aucune définition de la classe avec le nom spécifié n'a pu être trouvée. 

1
Aniket Kulkarni

Le link a le pilote pour sqlserver, téléchargez et ajoutez votre Eclipse buildpath.

1
Sajan Chandran

Faites un clic droit sur votre projet ---> Chemin de construction ----> Configurez 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

1
Mogana

téléchargez le pilote Microsoft JDBC 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é (Microsoft JDBC Driver 4.0 pour SQL Server est la valeur par défaut). Vous trouverez deux fichiers jar, sqljdbc.jar (pour JDBC 3.0) et sqljdbc4.jar (pour JDBC 4.0), ainsi que des fichiers .dll et des fichiers d'aide HTML.

Placez le fichier sqljdbc4.jar sous le chemin de classe de votre application si vous utilisez JDK 4.0 ou le fichier sqljdbc4.1.jar si vous utilisez JDK 6.0 ou une version ultérieure.

1
Abdul Moiz