web-dev-qa-db-fra.com

Comment se connecter à une base de données SQL Server 2008 à l'aide de JDBC?

MSSQL 2008 est installé sur mon ordinateur local et mon application Java doit se connecter à une base de données MSSQL. Je suis nouveau dans MSSQL et j'aimerais obtenir de l'aide pour créer un identifiant utilisateur pour mon ordinateur. Java et connexion via JDBC. Jusqu'à présent, j'ai essayé de créer un identifiant d'utilisateur pour mon application et ai utilisé la chaîne de connexion suivante, mais je ne travaille pas du tout. apprécié.

jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms 
username="shuxer"  password="itarator"
52
taras

JDBC peut être utilisé principalement de deux manières: 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 génération.

Pour l'authentification Windows, 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 d'accès à sqljdbc_auth.dll sous la forme d'un argument VM (toujours besoin de sqljdbc4.jar dans le chemin d'accès à la construction)).

Veuillez jeter un oeil ici pour un petit guide pas à pas indiquant comment vous connecter à SQL Server à partir de Java à l'aide de jTDS et JDBC si vous avez besoin de plus de détails. Hope ça aide!

73
Thusi

Vous pouvez utiliser this :

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>");
   }
}
32
Mahmut EFE

J'utilise également mssql server 2008 et jtds.Dans 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();
7
kta

Si vous rencontrez des difficultés pour vous connecter, 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 elle est à l'écoute. Par défaut, SQL Server n'active pas cela après l'installation.

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

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

6
djangofan

Essayez d'utiliser comme suit: jdbc: jtds: sqlserver: //127.0.0.1/dotcms; instance = nom d'instance

Je ne sais pas quelle version de mssql vous utilisez, s'il s'agit d'une édition rapide, l'instance par défaut est sqlexpress

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

3
user301201

Vous pouvez essayer de configurer SQL Server:

  1. Étape 1: Ouvrez le serveur 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 Propriétés.
  3. Étape 3: Cliquez sur l'onglet Adresse IP, Modifier tout TCP. Le port est 1433

NOTE: ALL TCP le port est 1433 Enfin, redémarrez le serveur.

3
Nguyễn Anh Giàu

Simple Java Programme qui se connecte à SQL Server.

NOTE: vous devez ajouter sqljdbc.jar dans le chemin de construction

// localhost: l'ordinateur local agit en tant que serveur

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

// nom d'utilisateur: sa

// mot de passe: utilise le mot de passe utilisé lors de l'installation de SQL Server Management Studio. Dans mon cas, il s'agit de '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();
            }

        }
    }
2
atishr

Essaye ça.

import Java.sql.Connection;

importer Java.sql.DriverManager;

importer Java.sql.ResultSet;

import Java.sql.Statement;

classe publique SQLUtil {

public void dbConnect (String db_connect_string, String utilisateur_db, String mot_de_passe_bd) {

essayer {

     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 cpl";
     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) {

SQLUtil connServer = new SQLUtil ();

connServer.dbConnect ("jdbc: sqlserver: //192.168.10.97: 1433; databaseName = myDB", "sa", "0123");

}

}

0
Kamran