Comment puis-je me connecter à une base de données SQL Server 2008 à l'aide de JDBC?


J'ai MSSQL 2008 installé sur mon PC local, et mon application Java doit se connecter à une base de données MSSQL. Je suis un nouveau sur MSSQL et je voudrais obtenir de l'aide pour créer une connexion utilisateur pour mon application Java et obtenir une connexion via JDBC. Jusqu'à présent, j'ai essayé de créer une connexion utilisateur pour mon application et utilisé la chaîne de connexion suivante, mais je ne fonctionne pas du tout. Toute aide et indice sera apprécié.

jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms 
username="shuxer"  password="itarator"
Author: Luiggi Mendoza, 2010-03-16

8 answers

Il existe principalement deux façons d'utiliser JDBC - en utilisant l'authentification Windows et l'authentification SQL. L'authentification SQL est probablement la plus simple. Ce que vous pouvez faire est quelque chose comme:

String userName = "username";
String password = "password";

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);

Après avoir ajouté sqljdbc4.jar au chemin de construction.

Pour l'authentification de fenêtre, vous pouvez faire quelque chose comme:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);

Puis ajoutez le chemin à sqljdbc_auth.dll comme argument de VM (encore besoin de sqljdbc4.jar dans le chemin de construction).

, Veuillez jeter un oeil ici pour un court guide étape par étape montrant comment se connecter à SQL Server à partir de Java à l'aide de jTDS et JDBC si vous avez besoin de plus de détails. Espérons que cela aide!

 67
Author: Thusi, 2016-01-01 20:45:35

Vous pouvez utiliser ce :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectMSSQLServer
{
   public void dbConnect(String db_connect_string,
            String db_userid,
            String db_password)
   {
      try {
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         Connection conn = DriverManager.getConnection(db_connect_string,
                  db_userid, db_password);
         System.out.println("connected");
         Statement statement = conn.createStatement();
         String queryString = "select * from sysobjects where type='u'";
         ResultSet rs = statement.executeQuery(queryString);
         while (rs.next()) {
            System.out.println(rs.getString(1));
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }

   public static void main(String[] args)
   {
      ConnectMSSQLServer connServer = new ConnectMSSQLServer();
      connServer.dbConnect("jdbc:sqlserver://<hostname>", "<user>",
               "<password>");
   }
}
 30
Author: Mahmut EFE, 2014-02-12 07:25:57

Si vous rencontrez des problèmes de connexion, le problème est probablement que vous n'avez pas encore activé l'écouteur TCP/IP sur le port 1433. Une commande rapide "netstat-an"vous dira si son écoute. Par défaut, SQL Server ne l'active pas après l'installation.

Vous devez également définir un mot de passe sur le compte "sa" et également ACTIVER le compte "sa" (si vous prévoyez d'utiliser ce compte pour vous connecter).

Évidemment, cela signifie également que vous devez activer "l'authentification en mode mixte" sur votre nœud MSSQL.

 6
Author: djangofan, 2011-08-02 17:27:23

J'utilise également mssql server 2008 et jtds.In mon cas, j'utilise la chaîne de connexion suivante et cela fonctionne.

Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( "jdbc:jtds:sqlserver://<your server ip     
address>:1433/zacmpf", userName, password );
Statement stmt = con.createStatement();
 6
Author: kta, 2012-05-27 02:52:15

Essayez d'utiliser comme ceci: jdbc: jtds: sqlserver://127.0.0.1/dotcms; instance=instanceName

Je ne sais pas quelle version de mssql vous utilisez, si c'est express edition, l'instance par défaut est sqlexpress

N'oubliez pas de vérifier si le service de navigateur SQL Server est en cours d'exécution.

 3
Author: , 2010-03-24 21:02:21

Vous pouvez essayer de configurer SQL Server:

  1. Étape 1: Ouvrez le gestionnaire de configuration SQL server 20xx
  2. Étape 2: Cliquez sur Protocoles pour SQL.. dans la configuration du serveur SQL. Ensuite, cliquez avec le bouton droit sur TCP / IP, choisissez Properties
  3. Étape 3: Cliquez sur l'adresse IP de l'onglet, Éditez tout le TCP. Le port est 1433

REMARQUE: {[12] } TOUS les ports TCP sont 1433 Enfin, redémarrez le serveur.

 3
Author: Nguyễn Anh Giàu, 2017-02-27 06:12:43

Programme Java simple qui se connecte au serveur SQL.

REMARQUE: Vous devez ajouter sqljdbc.jar dans le chemin de construction

// localhost: l'ordinateur local agit comme un serveur

/ / 1433: Numéro de port par défaut SQL

// nom d'utilisateur : sa

// mot de passe: mot de passe, qui est utilisé au moment de l'installation de SQL server management studio, Dans mon cas, c'est 'root'

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

    public class Conn {
        public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {

            Connection conn=null;
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
                conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=company", "sa", "root");

                if(conn!=null)
                    System.out.println("Database Successfully connected");

            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
    }
 0
Author: Kumar Kondiker, 2018-06-22 04:57:56

Cet exemple de programme Java se connecte à la base de données MySQL à l'aide de JDBC, exécute une requête et récupère et imprime la valeur du champ de base de données.

Ce même exemple de code peut être utilisé pour se connecter à n'importe quel type de base de données, tout ce que vous devez faire est de changer l'URL de connexion (dbUrl dans l'exemple). Pour que ce code fonctionne correctement, vous devrez télécharger le pilote mysql pour JDBC en d'autres termes les connecteurs Java à partir de mysql.com site.

Si après avoir téléchargé l'URL, cela ne fonctionne toujours pas ensuite, c'est probablement dû au chemin de classe. Vous devrez ajouter le fichier jar du pilote dans le classpath.

import java.sql.*;
import javax.sql.*;

public class jdbcdemo{

public static void main(String args[]){
String dbtime;
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM users";

try {

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
} //end while

con.close();
} //end try

catch(ClassNotFoundException e) {
e.printStackTrace();
}

catch(SQLException e) {
e.printStackTrace();
}

}  //end main

}  //end class
 -9
Author: giri, 2010-03-16 03:33:29