CV | Références | Disponibilités | Tarifs | Divers

Connexion à une base de données avec une DataSource.

Il faut lancer un process rmid. On reference ensuite une entrée ODBC "mybase". L'accès à cette base va pouvoir se faire avec LDAP.

import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
public class JNDIDataSource {
public static void main(String[] argsthrows Exception {
Properties env = System.getProperties();
env.put("java.naming.factory.initial",
"com.sun.jndi.rmi.registry.RegistryContextFactory");
env.put("java.naming.provider.url","rmi://localhost:1099");
Context c = new InitialContextenv );
sun.jdbc.odbc.ee.DataSource ds = new sun.jdbc.odbc.ee.DataSource();
ds.setDatabaseName("mybase");
InitialContext ic = new InitialContext();
System.out.println"BIND with jdbc/DB1" );
ic.bind("jdbc/DB1",ds);
}

Exemple de code pour établir la connexion

private void ouvrirConnexion() throws SQLException, NamingException {
Properties env = System.getProperties();
env.put("java.naming.factory.initial",
"com.sun.jndi.rmi.registry.RegistryContextFactory");
env.put("java.naming.provider.url","rmi://localhost:1099");
Context c = new InitialContextenv );
DataSource ds = DataSource )c.lookup"jdbc/DB1" );
connexion = ds.getConnection();