Bonjour,
Voici mon problème: je n'arrive pas à accéder à SQL Server à partir d'un projet Struts.
Au départ, le code suivant marche:
(code dans une méthode d'une action)
1 2 3 4 5 6 7 8
|
SQLServerDataSource ds = new SQLServerDataSource;
ds.setUser = "olivier";
ds.setPassword = "abcd";
ds.setServerName = "localhost";
ds.setPortNumber = "1433";
ds.setDatabaseName = "cotations";
con = ds.getConnection(); |
Bon, c'est bien mais en puriste, on peut objecter que c'est moins bien que de rajouter une dataSource dans struts-config.xml.
J'ai donc essayé et ça plante.
Voici mon fichier xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
...
<data-sources>
<!-- configuration for commons BasicDataSource -->
<data-source type="com.microsoft.sqlserver.jdbc.SQLServerDataSource" key="cotations">
<set-property property="autoCommit" value="true"/>
<set-property property="decription" value="DataSource - MysqlLocal"/>
<set-property property="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<set-property property="maxCount" value="4"/>
<set-property property="minCount" value="1"/>
<set-property property="user" value="olivier"/>
<set-property property="password" value="abcd"/>
<set-property property="url" value="jdbc:sqlserver://localhost"/>
</data-source>
</data-sources>
... |
et je n'arrive pas à aller plus loin: la prochaine étape est je crois, dans l'action, de créer une dataSource en utilisant les infos dans struts-config.xml.
J'ai essayé par exemple:
1 2
|
SQLServerDataSource ds = (SQLServerDataSource) servlet.getServletContext().getAttribute("org.apache.struts.action.DATA_SOURCE/cotations"); |
mais cela ne marche pas: au moment d'établir la connexion, j'obtiens un message de référence nulle (donc ds ne pointe sur rien).A noter: la commande
1 2 3
|
Enumeration Coll;
coll=servlet.getServletContext().getAttributeNames(); |
ne renvoie pas d'URL finissant pas DATA_SOURCE...problème avec struts-config? Le URL renvoyées par getAttributeNames finissent par:
jsp_classpath, MESSAGE, MODULE_PREFIXES, DEFINITIONS_FACTORY, STOP_ON_ERROR, VALIDATOR_RESOURCES, WELCOME_FILES, ACTION_SERVLET, REQUEST_PROCESSOR, tempdir, SERVLET_MAPPING, PLUG_INS, resources, MODULE.
...donc rien qui finisse par DATA_SOURCE...
Voilà, j'ai tout dit.
Les questions que je me pose:
Faut-il modifier web.xml?
Quelle est la syntaxe pour récupérer le dataSource?
Où trouver la documentation (celle fournie avec le pilote JDBC pour Microsoft SQL Server ne m'a pas permis de m'en sortir)...
lolveley.
Partager