Connexion à une base de données sql server 2005

Soyez le premier à donner votre avis sur cette source.

Snippet vu 52 778 fois - Téléchargée 25 fois

Contenu du snippet

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 / Exemple :


/*
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

A voir également

Ajouter un commentaire

Commentaires

Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
34 -
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);
}
//...
}
}
davidyannick
Messages postés
3
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
26 septembre 2006
-
effectivement c'est une erreur de conception de ma part, merci de votre remarque
walidsaad
Messages postés
3
Date d'inscription
mercredi 5 juillet 2006
Statut
Membre
Dernière intervention
16 octobre 2006
-
bravo
acidburn09
Messages postés
6
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2007
-
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".
taoufikovic90
Messages postés
1
Date d'inscription
mardi 24 octobre 2006
Statut
Membre
Dernière intervention
19 juin 2007
-
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.