Bonjour,

Je viens de passer mon après midi à chercher une erreur... en vain !
Je lance tomcat, et lorsque je veux mettre en attribut de session le data source, cela ne fonctionne pas.

J'ai donc écrit une petite requête avant, qui bien sûr ne fonctionne pas non plus.

Erreur reçue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Illegal/unsupported escape sequence near index 1
\linkmanager
 ^
Extrait de server.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<Context docBase="WebTech" path="/WebTech" reloadable="true" source="org.eclipse.jst.j2ee.server:WebTech">
<Resource
	name="jdbc/sqlserver"
	auth="Container"
	type="javax.sql.DataSource"
	username=""
	password=""
	driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
	url="jdbc:sqlserver://SNAWebTech\\LINKMANAGER;database=linkmanager"
	maxActive="20"
	maxIdle="10"
	/>
</Context>
En cas de besoin, la servlet, j'ai marqué en commentaire le lieu où à lieu l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
public class InitialisationBaseDeDonnees implements ServletContextListener {
	// Action déclenchée lors du chargement du contexte
	public void contextInitialized(ServletContextEvent event) {
		// Initaliser le contexte
		Context contextInitial = null;
 
		System.out.println("Chargement du contexte");
		try {
			contextInitial = new InitialContext();
			if (contextInitial == null) {
				throw new Exception("Impossible de charger le contexte");
			}
 
			// Connexion JNDI
			Context envCtx = (Context) contextInitial.lookup("java:comp/env");
			DataSource datasource = (DataSource) envCtx.lookup("jdbc/sqlserver");
 
			if (datasource == null) {
				throw new Exception("Erreur lors du chargement du datasource");
			} else {
				System.out.println("DataSource chargé !");
			}
 
			String requeteString = "SELECT RaisonSociale FROM Entreprise;";
			System.out.println(requeteString);
 
			// ERREUR ICI !!!!!
			Connection connexion = datasource.getConnection();
			// CECI NE S AFFICHE PAS
			System.out.println(requeteString);
 
			Statement requete = connexion.prepareStatement(requeteString);
 
			System.out.println(requeteString);
			// Execution de la requête
			ResultSet resultat = requete.executeQuery(requeteString);
			System.out.println(requeteString);
 
 
			// On stocke le resultat dans une liste
			if (resultat != null) {
				while (resultat.next()) {
					System.out.println(resultat.getString("RaisonSociale"));
				}
			}
			System.out.println(requeteString);
 
			// Sauvegarder le datasource dans le contexte de l'application
			ServletContext servletContext = event.getServletContext();
			servletContext.setAttribute("datasource", datasource);
		} catch (Exception e) {
			System.out.println(e.getMessage());
		} finally {
			try {
				// On ferme le contexte
				if (contextInitial != null) {
					contextInitial.close();
					// System.out.println("Contexte correctement decharger");
				}
			} catch (Exception e) {
				System.out.println("Erreur lors de la fermeture du contexte");
			}
		}
	}
Si quelqu'un a une idée, je lui remercie d'avance énormément !!!