IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Websphere Java Discussion :

Comment configurer une DataSource pour se connecter à AS400


Sujet :

Websphere Java

  1. #1
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut Comment configurer une DataSource pour se connecter à AS400
    Bonjour cher tous,

    Je me permet de vous envoyer ce message pour solliciter votre aide.
    Voici depuis des semaines que je me débat avec un problème. Alors je me tourne vers vous.
    Voila, je dois me connecter au serveur AS400 dont la base de donnée est DB2 et je souhaiterais utiliser une DataSource via JNDI.
    Pouvez-vous s'il vous plaît me donner un coup de main en me donnant un exemple de Comment configurer une DataSource pour se connecter à un serveur AS400 (DB2) et aussi les Drivers nécessaire afin de pouvoir parvenir à cela.

    Merci d'avance.
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    l'OS n'a, a priori, pas d'importance, sauf si tu ne trouve pas de jvm sous cet os. Pour DB2, site d'ibm

    y a de l doc sur le driver db2 universel d'ibm ici

    http://www.ibm.com/developerworks/da...dm-0512kokkat/

    dois y avoir un lien de download quelque part.

  3. #3
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Merci encore tchize_,
    Avec l'aide de rolfone, j'ai pu mettre en place une config :
    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
    package ci.connexion;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.naming.Reference;
    import javax.naming.StringRefAddr;
    public class ConnexionAS400 {
        public final  String POOL_NAME = "jdbc/MaDataSource";
         public static void InitPoolConnexion() throws NamingException {
            //initialisation du contexte
            System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
            InitialContext initContext = new InitialContext();
            // création d'une référence sur la DataSource
            Reference ref = new Reference("javax.sql.DataSource", "org.apache.commons.dbcp.BasicDataSourceFactory", null);
            ref.add(new StringRefAddr("driverClassName", "com.ibm.as400.access.AS400JDBCDriver"));
            ref.add(new StringRefAddr("url", "jdbc:as400://SERVER_IP/S658544B;librairies=B33STFC"));
            ref.add(new StringRefAddr("user", "NOM_UTILISATEUR"));
            ref.add(new StringRefAddr("password", "MOT_DE_PASSE"));
            ref.add(new StringRefAddr("translate binary", "true"));
            ref.add(new StringRefAddr("prompt", "false"));
            ref.add(new StringRefAddr("naming", "sql"));
            ref.add(new StringRefAddr("errors", "full"));
            //Liaison de la datasource au context
            initContext.rebind("jdbc/MaDataSource", ref);}}
    L'application se lance mais avec cette erreur:
    14 sept. 2010 15:33:28 ci.DAOService.DAOArticlesAS400 initArticle
    GRAVE: null
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at ci.DAOService.DAOArticlesAS400.initArticle(DAOArticlesAS400.java:41)
    at ci.interGraph.FrmArticle$1.run(FrmArticle.java:111)
    Exception occurred during event dispatching:
    ...
    Voici les deux parties incriminées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static ArrayList<ArticlesAS400> initArticle(){
    		try{
    		Context context = new InitialContext();
    		/*LIGNE 41*/DataSource ds = (DataSource) context.lookup("jdbc/MaDataSource");//*** ligne 41 ****
    Connection conn = ds.getConnection();
    /** Cette requête selectionne les articles de la famille 205 BOUCHERIE et 208 BOUCHERIE LS */
    String requete = "SELECT * FROM B33STFC.FTARTL01 WHERE CRAYAR IN ('205', '208')";
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void initArticle(){
    			Thread t = new Thread(){
    			public void run(){
    ArrayList<ArticlesAS400> list = DAOArticlesAS400.initArticle();//*** ligne 111 **********
    		lister = list;
    		Table.setModel(new ArticlesAS400TableModel(lister));	}};
    		t.start();
    		}
    Help me please
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    est-ce que tu as vraiment besoin de stocker tadatasource dans un jndi? Si oui, il va falloir fournir une implémentation de jndi (jndi est juste une une api que les ocnstructeur doivent implémenter). Exemple: http://www.osjava.org/simple-jndi/

  5. #5
    Membre régulier Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    est-ce que tu as vraiment besoin de stocker tadatasource dans un jndi? Si oui, il va falloir fournir une implémentation de jndi (jndi est juste une une api que les ocnstructeur doivent implémenter). Exemple: http://www.osjava.org/simple-jndi/
    Merci encore tchize_,
    J'ai pas très bien compris mais je suis sûr et certain de le comprendre si j'ai un exemple d'implementation de jndi ou si tu me dit ce que je dois faire exactement pour me mettre sur la voie.
    L'important n'est pas de tout savoir mais de savoir où tout se trouve !

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le lien que j'ai donné *est* une implémentation de jndi Lire sa doc

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2010, 13h24
  2. comment configurer simpleCart.js pour faire une page e-commerce ???
    Par pampelline dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 01/12/2009, 21h45
  3. Réponses: 0
    Dernier message: 15/08/2007, 16h36
  4. [NetBeans] [5.0][Tomcat] Comment configurer une datasource
    Par Radium133 dans le forum NetBeans
    Réponses: 3
    Dernier message: 14/04/2006, 10h48
  5. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo