La connexion de SQL Server 2008 pour Java: échec de la Connexion pour l'utilisateur d'erreur

J'essaie de connecter mon code Java de Microsoft SQL Server 2008 R2 Express de la base de données. J'ai téléchargé Microsoft SQL Server, un Pilote JDBC 3.0 et a ajouté l'sqljdbc4.jar à mon classpath. Je suis à l'aide de Netbeans et ont inclus le sqljdbc4.jar dans mon projet.

J'ai créé une base de données dans SQL Server Management Studio appelé TestDB1 et ajouté quelques colonnes et les valeurs que je vais utiliser pour le test. J'ai changé de Mode d'Authentification Windows, clic droit sur le serveur JACOB=PC\SQLEXPRESS->Propriétés->Secuity et de ce changement de Mode d'Authentification Windows pour SQL Server et le Mode d'Authentification Windows.

Ensuite, j'ai créé une nouvelle connexion, clic droit sur la Connexion de dossier dans la fenêtre de l'explorateur de JACOB-PC/SQLEXPRESS->Secuity Dossier->Dossier Connexions et ajout d'une nouvelle connexion. Je lui ai donné le nom jhaip2, sont passés à l'authentification SQL Server et le mot de passe à jacob. Appliquer la stratégie de mot de passe et de faire respecter expiration du mot de passe ne sont pas cochées. La base de données par défaut est définie à TestDB1. Alors, en vertu de TestDB1->Secuity->Utilisateurs->jhaip2->appartenance au rôle de Base de données j'ai mis jhaip2 à db_owner (je ne pouvais pas se connecter à la base de données dans la gestion de studio sans cela, n'est probablement pas la bonne chose à faire?). J'ai ensuite redémarré le serveur.

Maintenant, pour mon code java, il s'agit d'une copie directe du Pilote JDBC 3.0 code de l'Échantillon à l'exception sans authentification windows.

package databasetest1;

import java.sql.*;

public class connectURL {

   public static void main(String[] args) {

      //Create a variable for the connection string.
      String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=TestDB1;";

      //Declare the JDBC objects.
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;

      try {
         //Establish the connection.
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         System.out.println("Driver okay");
         con = DriverManager.getConnection(connectionUrl,"jhaip2","jacob");
         System.out.println("Connection Made");

      }

      //Handle any errors that may have occurred.
      catch (Exception e) {
         e.printStackTrace();
      }
      finally {
         if (rs != null) try { rs.close(); } catch(Exception e) {}
         if (stmt != null) try { stmt.close(); } catch(Exception e) {}
         if (con != null) try { con.close(); } catch(Exception e) {}
      }
   }
}

Quand je le lance, il imprime Pilote "ok" donc je suis en supposant que mon pilote est mis en place correctement. Puis il imprime le message d'erreur:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'jhaip2'.

Il n'importe pas quel nom d'utilisateur que j'utilise, il échoue toujours. J'ai le sentiment que je suis de la configuration de l'utilisateur de mal. Si quelqu'un pouvait me donner un peu d'aide sur la façon d'installer correctement un utilisateur ou toute orientation dans la façon de simplement se connecter à une base de données SQL Server en Java, je l'apprécierais.

  • êtes-vous correctement ajoutée en tant qu'Utilisateur, le béton de la base de données du moteur de Bases de données
  • Avez-vous essayé de vous connecter avec ce nom d'utilisateur et mot de passe dans le SQL Server Management Console? Peut-être que votre sql server est configuré pour utiliser le windows authenification au lieu de l'authentification sql server.
  • J'ai oublié que, d'accord avec le changement des Fenêtres Autentifications pour le Mode Mixte, +1 et SQL2008R2 a par défaut des Réseaux fermés Tuyaux de trop...
  • Est-il obligatoire pour être répertorié comme un utilisateur sous Server Properties -> Permission -> Login/roles ? Actuellement ma boîte n'est pas indiquée dans la rubrique "Login/rôles" et je reçois également Login failed for user sa erreur
  • Check this out: stackoverflow.com/a/50106764/3371954 , qui pourraient vous aider.
InformationsquelleAutor jhaip | 2011-06-19