Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNEXION À UNE BASE DE DONNÉES SQL SERVER 2005


Information sur la source

Catégorie :JavaServerPage (JSP) Classé sous : sqlserver, connexion, connection, sql, sqlconnection Niveau : Débutant Date de création : 25/09/2006 Date de mise à jour : 26/09/2006 02:16:10 Vu : 29 331

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Dans cet article, vous trouverez un moyen parmi d'autres afin de se connecter à une base de données SQL Server 2005 et d'effectuer une requête
 

Source

  • /*
  • La table plus simple il n'y a pas :
  • USE [jspTest]
  • GO
  • /****** Objet : Table [dbo].[test1] Date de génération du script : 09/25/2006 23:23:06 ******/
  • SET ANSI_NULLS ON
  • GO
  • SET QUOTED_IDENTIFIER ON
  • GO
  • CREATE TABLE [dbo].[test1](
  • [id] [int] IDENTITY(1,1) NOT NULL,
  • [prenom] [nchar](50) COLLATE French_CI_AS NOT NULL,
  • [nom] [nchar](50) COLLATE French_CI_AS NOT NULL,
  • CONSTRAINT [PK_test1] PRIMARY KEY CLUSTERED
  • (
  • [id] ASC
  • )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
  • ) ON [PRIMARY]
  • */
  • // 1 - la classe permettant d'accéder aux données :
  • /*
  • * SqlConnection.java
  • *
  • * Created on 23 septembre 2006, 12:26
  • *
  • * To change this template, choose Tools | Template Manager
  • * and open the template in the editor.
  • */
  • package sqlserver.mydb.common;
  • /**
  • *
  • * @author david
  • */
  • import java.io.*;
  • import java.sql.*;
  • public class SqlConnection {
  • /**
  • * Creates a new instance of SqlConnection
  • */
  • public SqlConnection() {
  • }
  • private String driver;
  • private String url;
  • private Connection cnx;
  • private Statement st;
  • public boolean ConnectToSQL()
  • {
  • try
  • {
  • Class.forName(getDriver());
  • cnx=DriverManager.getConnection(getUrl());
  • st=cnx.createStatement();
  • return true;
  • }
  • catch(SQLException ex)
  • {
  • System.out.println(ex.getMessage().toString());
  • return false;
  • }
  • catch(ClassNotFoundException ex)
  • {
  • System.out.println(ex.getMessage().toString());
  • return false;
  • }
  • }
  • public boolean CloseSql()
  • {
  • try
  • {
  • this.cnx.close();
  • return true;
  • }
  • catch(SQLException ex)
  • {
  • System.out.println(ex.getMessage().toString());
  • return false;
  • }
  • }
  • public ResultSet Requete(String req)
  • {
  • ResultSet rs=null;
  • try{
  • rs=st.executeQuery(req);
  • return rs;
  • }
  • catch(SQLException ex)
  • {
  • rs=null;
  • return rs;
  • }
  • }
  • public String getDriver() {
  • return driver;
  • }
  • public void setDriver(String driver) {
  • this.driver = driver;
  • }
  • public String getUrl() {
  • return url;
  • }
  • public void setUrl(String url)
  • {
  • this.url=url;
  • }
  • }
  • // 2 - La page jsp
  • <%@page contentType="text/html"%>
  • <%@page pageEncoding="UTF-8"%>
  • <%@page import="java.sql.*" %>
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  • "http://www.w3.org/TR/html4/loose.dtd">
  • <html>
  • <head>
  • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  • <title>JSP Page</title>
  • </head>
  • <body>
  • <h1>JSP Page</h1>
  • <%
  • boolean isOK=false;
  • sqlserver.mydb.common.SqlConnection myConn=new sqlserver.mydb.common.SqlConnection();
  • myConn.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  • myConn.setUrl("jdbc:sqlserver://localhost:1433;databaseName=jspTest;user=*****;password=******");
  • isOK=myConn.ConnectToSQL();
  • if(!isOK)
  • {
  • out.println("Erreur");
  • }
  • else
  • {
  • out.println("OK");
  • ResultSet rs1=myConn.Requete("select * from test1");
  • int i=0;
  • while(rs1.next()){
  • i++;
  • out.println("<li>" + i + " " + rs1.getString("Prenom") + "-" + rs1.getString("nom"));
  • }
  • myConn.CloseSql();
  • }
  • %>
  • </body>
  • </html>
/*
La table plus simple il n'y a pas :
USE [jspTest]
GO
/****** Objet :  Table [dbo].[test1]    Date de génération du script : 09/25/2006 23:23:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[test1](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[prenom] [nchar](50) COLLATE French_CI_AS NOT NULL,
	[nom] [nchar](50) COLLATE French_CI_AS NOT NULL,
 CONSTRAINT [PK_test1] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

*/


// 1 - la classe permettant d'accéder aux données :
/*
 * SqlConnection.java
 *
 * Created on 23 septembre 2006, 12:26
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package sqlserver.mydb.common;

/**
 *
 * @author david
 */

import java.io.*;
import java.sql.*;

public class SqlConnection {
    
    /**
     * Creates a new instance of SqlConnection
     */
    public SqlConnection() {
    }
    
    private String driver;
    private String url;
    
    private Connection cnx;
    private Statement st;
    
    public boolean ConnectToSQL()
    {
        try
        {
            Class.forName(getDriver());
            cnx=DriverManager.getConnection(getUrl());
            st=cnx.createStatement();
            return true;
        }
        catch(SQLException ex)
        {
            System.out.println(ex.getMessage().toString());
            return false;
        }
        catch(ClassNotFoundException ex)
        {
            System.out.println(ex.getMessage().toString());
            return false;
        }
    }
    
    public boolean CloseSql()
    {
        try
        {
            this.cnx.close();
            return true;
        }
        catch(SQLException ex)
        {
            System.out.println(ex.getMessage().toString());
            return false;
        }
    }

    public ResultSet Requete(String req)
    {
        ResultSet rs=null;
            
        try{
            rs=st.executeQuery(req);
            return rs;
        }
        catch(SQLException ex)
        {
            rs=null;
            return rs;
        }
    }
    
    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getUrl() {
        return url;
    }
    
    public void setUrl(String url)
    {
        this.url=url;
    }
}

// 2 - La page jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <h1>JSP Page</h1>
    
    <%
        boolean isOK=false;
        sqlserver.mydb.common.SqlConnection myConn=new sqlserver.mydb.common.SqlConnection();
        
        myConn.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        myConn.setUrl("jdbc:sqlserver://localhost:1433;databaseName=jspTest;user=*****;password=******");
       
        isOK=myConn.ConnectToSQL();
        if(!isOK)
        {
            out.println("Erreur");
        }
        else
        {
            out.println("OK");
            ResultSet rs1=myConn.Requete("select * from test1");
            int i=0;
            
            while(rs1.next()){
                i++;
                out.println("<li>" + i + " " + rs1.getString("Prenom") + "-" + rs1.getString("nom"));
            }
            
            myConn.CloseSql();
        }
    %>

    </body>
</html>

Conclusion

Pour cet article j'ai utilisé, Netbeans 5.5 beta 2, SQL Server 2005 std et Sun Application server PE 9
 

Historique

25 septembre 2006 23:32:43 :
un import de trop oups ;)
26 septembre 2006 00:00:39 :
faute d'ortographe
26 septembre 2006 02:16:10 :
maj

Commentaires et avis

signaler à un administrateur
Commentaire de Ombitious_Developper le 26/09/2006 09:23:55

Salut :

Juste une remarque concernant l'initialisation du pilote de la base de données,
il vaut mieux le mettre dans un bloc statique ou au début de la fonction main pourqu'il soit appeler au plus une seule fois indépendemment des instances créer à partir de votre classe.

// 1- Solution 1:
public class SqlConnection {
   static {
       try {
              Class.forName ("driver");
       }
       catch (ClassNotFoundException e) {
              e.printStackTrace ();
              Syste.exit (1);
       }
   }
   // ...
}
// 2- Solution 2:
public static void main (String [] args) {
       try {
              Class.forName ("driver");
       }
       catch (ClassNotFoundException e) {
              e.printStackTrace ();
              Syste.exit (1);
       }
       //...
}
}

signaler à un administrateur
Commentaire de davidyannick le 26/09/2006 12:17:55

effectivement c'est une erreur de conception de ma part, merci de votre remarque

signaler à un administrateur
Commentaire de walidsaad le 03/10/2006 10:49:30

bravo

signaler à un administrateur
Commentaire de acidburn09 le 24/05/2007 02:23:34

Salut,

Je suis un petit nouveau dans le langage Java et je commence à tenter de me connecter à des bases de données sql server.
J'ai vu votre code et il semble très bien, cependant, lorsque j'utilise le pilote "com.microsoft.sqlserver.jdbc.SQLServerDriver" dans mon programme, ça me dit que le pilote n'a pu être trouvé. Je suis donc incapable de me connecter à la base de donnée. Est-ce que j'aurais oublié quelque chose ?

J'aurais aussi une interrogation concernant la connection à la base de donnée. Je me connecte à une base de donnée sur un réseau. Est-ce qu'il est permis de mettre plusieurs niveau de serveurs dans la string de connection ? Exemple: "jdbc:sqlserver://sql5/bdDept;databaseName=nomSchema".

signaler à un administrateur
Commentaire de taoufikovic90 le 19/06/2007 12:26:16

bonjour monsieur j'ai une question à vous poser est ce que c'est possible de se connecter à 2 bases de données? j'ai crée deux methodes de connections et quand je férme la premiè-re pour ouvrir la 2eme ça marche pas merci

signaler à un administrateur
Commentaire de gogomanu le 08/07/2007 19:40:29

Merci beaucoup je débute en Java et c'est grace à ton exemple complet (classe + JSP) que j'ai enfin réussi à me connecter à une base de données !
Super!
Donc je vais enfin pouvoir commencer les choses sérieuses en Java !

signaler à un administrateur
Commentaire de GITOS le 27/01/2008 15:26:39

bonjour
je voudrais savoir comment etablir une connection Base de données entre Eclipse ( JSP) et SQL server 2005 , a l'aide de Hibernate j'ai essayé avec beaucoup de pilotes JDBC de SQL server  et Dans le fichier struts-config.xml avec cette chaine de connection:  
<set-property property="url" value="jdbc:jtds:sqlserver://192.168.1.2:1433;databaseName=base_test;user=sa;password=oussama"/>

quelqu'un a une idée sur le pilote ideal , et l'url de connection et merci .

signaler à un administrateur
Commentaire de adiaby le 02/09/2008 17:24:35

bonjour,j'ai téléchargé un pilote jdbc pour sql server pour établir une conexion base de données entre Jcreator(java) et SQL server 7.0 mais je n'arriv pas à bien configurer le driver.le pilote jdbc c'est sqljdbc_2.0.J'ai besoin de votre aide svp. Merci d'avance

signaler à un administrateur
Commentaire de adiaby le 02/09/2008 17:24:42

bonjour,j'ai téléchargé un pilote jdbc pour sql server pour établir une conexion base de données entre Jcreator(java) et SQL server 7.0 mais je n'arriv pas à bien configurer le driver.le pilote jdbc c'est sqljdbc_2.0.J'ai besoin de votre aide svp. Merci d'avance

signaler à un administrateur
Commentaire de adiaby le 02/09/2008 17:24:44

bonjour,j'ai téléchargé un pilote jdbc pour sql server pour établir une conexion base de données entre Jcreator(java) et SQL server 7.0 mais je n'arriv pas à bien configurer le driver.le pilote jdbc c'est sqljdbc_2.0.J'ai besoin de votre aide svp. Merci d'avance

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Problème connection SQL Serveur [ par plop3000 ] Bonjour,C'est la premiere fois que j'essaie de faire une connexion à SQL Server 2005 avec java, et je n'y parviens pas; Je ne suis pas sur de cer qu'i Problème de connection a sql server [ par beberto56 ] Bonjour,je n'arrive pas à me connecter à ma base de donnée sqlserver qui est installé en local sur mon pc voila le code que j'ai sur netbeans:package Probleme de connection a sql server 2005 [ par beberto56 ] Bonjour,voila 2 jours que j'essaye en vain de ma connecter a ma base de donnée sql server a travers Netbeans et eclipse.J'ai téléchargé le bon driver PB avec sqlserver 2000 dans java [ par chezeu ] j ai un pb avec sql server 2000 pour le configurer dans java il affiche l'erreur :"Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Échec de la co sql,connection [ par gustar ] salut tt le monde j'ai essai de travaille un analyseur de requette avec java interface mais je ss bloque sur un truc.je ce pas comment le faire c comm connexion java oracle(sql*plus) [ par floritta ] slt a tous, j'éspére que quelqu'un peut m'aider, je travaille avc sql*plus, et  jdk1.6, je sais pas s'il faut travailler avec thin ou thick(oci7 ds mo connection jdbc mysql [ par nasrouna84 ] hiiii voici le code que j'utilise sans erreurs mai j'ai connection refusé comment faire help me please import java.sql.*; import java.io.*; import j JasperSoft Nouvelle Connexion [ par g25451 ] Bonjour, Je voulais tester iReport 3.0.0 jasperSoft. J'ai été dans "Données", "Connexion source données", Nouveau Et dans "Propriétés de la con Connexion active - MySQL [ par tweeder ] Bonjour à tous, Après une longue période d'inactivité, j'obtiens l'erreur ci-bas: "The last packet successfully received from the server was XXX seco Connexion à une DB SQL Server [ par Nina2507 ] bonsoir,j'arrive pas à me connecter à une base de donnée sql server,voici le code que j'ai fait:public class Connexion {    Connection con = null;   


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.