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

JDBC Java Discussion :

Jbo 27122 ora-00942 table or view does not exist


Sujet :

JDBC Java

  1. #21
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 350
    Points : 84
    Points
    84
    Par défaut
    Pour
    la configuration de ton connecteur jdbc dans ton conteneur JSF
    faites vous allusion à la config de la connexion dans jdev ou au niveau weblogic?

  2. #22
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 350
    Points : 84
    Points
    84
    Par défaut
    Je recapitule.
    Je veux que chaque fois qu'un utilisateur se connecte, les infos le concernant s'affiche.
    Pour ce faire, j'utilise une classe java qui est un bean dans laquelle se gère la connexion.
    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
    public String doLogin() {
            String un = userName;
            byte[] pw = password.getBytes();
            FacesContext fctx = FacesContext.getCurrentInstance();
            HttpServletRequest request = (HttpServletRequest)fctx.getExternalContext().getRequest();
            try {
                Subject subject = Authentication.login(new URLCallbackHandler(un, pw));
                weblogic.servlet.security.ServletAuthentication.runAs(subject, request);
                
                String viewId = fctx.getViewRoot().getViewId();
                //System.out.println("Current page  viewId: " + viewId);            
                
                String loginUrl = "/adfAuthentication?success_url=/faces" + viewId;
                HttpServletResponse response = (HttpServletResponse)fctx.getExternalContext().getResponse();
                sendForward(request, response, loginUrl);
                
                
    UserInfoInSession(fctx);
    } catch (FailedLoginException fle) { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Incorrect Username or Password", "An incorrect Username or Password was specified"); fctx.addMessage(null, msg); System.out.println("failed"); return "failed"; } catch (LoginException le) { reportUnexpectedLoginError("LoginException", le); System.out.println("failed"); return "failed"; } System.out.println("success"); return "success"; //return null; }
    si les infos saisies (user et mot de passe) sont correctes alors dans
    UserInfoInSession
    il va recuperer les infos sur l'utilisateur
    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
    private void UserInfoInSession(FacesContext fctx){
            ExternalContext ectx = fctx.getExternalContext(); 
            HttpSession userSession = (HttpSession) ectx.getSession(true);      
            userSession.setAttribute("username", getUsername());
            userSession.setAttribute("password", getPassword());
     
     
            MenuModuleImpl menuAM = getAm();
            EnteteViewImpl enteteView =  (EnteteViewImpl)menuAM.getEnteteView();
            if (enteteView != null){
                System.out.println("ViewObject is not null");
                //view.clearCache();
                //view.setNamedWhereClauseParam("v_current_user", "demo"); 
                enteteView.executeQuery();
                EnteteViewRowImpl row =  (EnteteViewRowImpl)enteteView.first();
                //System.out.println("Current User: " + Utilities.getCurrentUser() );
                System.out.println("View initialize parameter");
                //this._username    = (String)row.getLogin();
                //this._password    = (String)row.getPwd();
                userSession.setAttribute("matricule", (String)row.getMatricule());   
                userSession.setAttribute("nom", (String)row.getNom());
                userSession.setAttribute("PcCode", (String)row.getPcCode()); // this._code_poste  = (String)row.getPcCode();
                userSession.setAttribute("PcLib", (String)row.getPcLibelle()); //this._poste       = (String)row.getPcCode()+'-'+(String)row.getPcLibelle();
                userSession.setAttribute("Profil_Code", (String)row.getProfilCode()); //this._service     = (String)row.getProfilLibelle()+"-"+row.getDateDebut()+"-"+row.getDateFin();
                userSession.setAttribute("ProfilLib", (String)row.getProfilCode()+'-'+(String)row.getProfilLibelle()); 
                //this._fonction  = (String)row.getAttribute(getFonction());
                userSession.setAttribute("agent", (String)row.getMatricule()+" - "+(String)row.getNom()); 
                userSession.setAttribute("role", (String)row.getProfilRole());
                userSession.setAttribute("dated", row.getDateDeb());
                userSession.setAttribute("datef", row.getDateFin());
     
                System.out.println("Poste: " + (String)row.getPcLibelle());
                System.out.println("Agent: " + (String)row.getMatricule()+" - "+(String)row.getNom());
                System.out.println("Profil: " + (String)row.getProfilCode()+'-'+(String)row.getProfilLibelle());
            }
            else{
                System.out.println("ViewObject is null");
            }
            // Get Current Date and time 
            //DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
            java.util.Date date = new java.util.Date();
            String dateStr = dateFormat.format(date);
            try{
                java.util.Date date2 = dateFormat.parse (dateStr);
                java.sql.Date sqldate = new java.sql.Date(date2.getTime());
                oracle.jbo.domain.Date daTime = new  oracle.jbo.domain.Date(sqldate);
                //ectx.getSessionMap().put("datecourante", daTime);
                userSession.setAttribute("datecourante", daTime);
                System.out.println("Current Date Time : jbo " + daTime);
            }catch(ParseException pe){
                 pe.printStackTrace();
            }
            //ectx.getSessionMap().put("username", getUsername());
            //ectx.getSessionMap().put("password", getPassword());
        }
    concernant le code de la view object qui est executée:
    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
    select b.agt_login login,                  
           b.agt_pwd  pwd,                
           b.agt_mat matricule,                  
            b.agt_nom nom,                  
            b.agt_lock_date lock_date,                  
            b.agt_expiry_date expiry_date,                  
            b.agt_created_date created_date,                  
            b.agt_status status,                  
            pc.pc_code,                  
            pc.pc_libc pc_libelle,                  
            p.profil_code,                  
            p.profil_libelle,                  
            p.profil_role,                  
            h.habil_date_deb date_deb,                  
            h.habil_date_fin date_fin                                 
       from Tb_Agent b,Tb_Habilite h,Tb_Poste_Comptable pc,Tb_Profil p                       
      where upper(b.agt_login) = upper('demo')                   
        and h.agt_mat   = b.agt_mat                       
        and h.pc_code   = pc.pc_code                       
        and h.profil_code = p.profil_code
    et comme je le dis lorsque je clique sur
    test and explain
    puis
    query result
    il me renvoie une ligne avec des valeurs.

  3. #23
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Tu peux mettre les source du début du fichier EnteteView.xml ? Sans la déclaration des attributs. Tu utilises quelle version de JDev ?

  4. #24
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 350
    Points : 84
    Points
    84
    Par défaut
    version 12.1.2.0.0

    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    <?xml version="1.0" encoding="windows-1252" ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!---->
    <ViewObject
      xmlns="http://xmlns.oracle.com/bc4j"
      Name="EnteteView"
      Version="12.1.2.66.68"
      InheritPersonalization="merge"
      BindingStyle="OracleName"
      CustomQuery="true"
      RowClass="model.views.EnteteViewRowImpl"
      ComponentClass="model.views.EnteteViewImpl"
      PageIterMode="Full">
      <DesignTime>
        <Attr Name="_codeGenFlag2" Value="Access|Coll|VarAccess"/>
        <Attr Name="_isExpertMode" Value="true"/>
        <Attr Name="_isCodegen" Value="true"/>
      </DesignTime>
      <Properties>
        <SchemaBasedProperties>
          <LABEL
            ResId="model.views.EnteteView_LABEL"/>
        </SchemaBasedProperties>
      </Properties>
      <SQLQuery><![CDATA[select b.agt_login login,                  
           b.agt_pwd  pwd,                
           b.agt_mat matricule,                  
            b.agt_nom nom,                  
            b.agt_lock_date lock_date,                  
            b.agt_expiry_date expiry_date,                  
            b.agt_created_date created_date,                  
            b.agt_status status,                  
            pc.pc_code,                  
            pc.pc_libc pc_libelle,                  
            p.profil_code,                  
            p.profil_libelle,                  
            p.profil_role,                  
            h.habil_date_deb date_deb,                  
            h.habil_date_fin date_fin                                 
       from Tb_Agent b,Tb_Habilite h,Tb_Poste_Comptable pc,Tb_Profil p                       
      where upper(b.agt_login) = upper('demo')                   
        and h.agt_mat   = b.agt_mat                       
        and h.pc_code   = pc.pc_code                       
        and h.profil_code = p.profil_code]]></SQLQuery>
      <ViewAttribute
        Name="Login"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="LOGIN"
        Expression="LOGIN"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Pwd"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PWD"
        Expression="PWD"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Matricule"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="20"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="MATRICULE"
        Expression="MATRICULE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="20"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Nom"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="301"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="NOM"
        Expression="NOM"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="301"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="LockDate"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="oracle.jbo.domain.Date"
        ColumnType="DATE"
        AliasName="LOCK_DATE"
        Expression="LOCK_DATE"
        SQLType="DATE"/>
      <ViewAttribute
        Name="ExpiryDate"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="oracle.jbo.domain.Date"
        ColumnType="DATE"
        AliasName="EXPIRY_DATE"
        Expression="EXPIRY_DATE"
        SQLType="DATE"/>
      <ViewAttribute
        Name="CreatedDate"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="oracle.jbo.domain.Date"
        ColumnType="DATE"
        AliasName="CREATED_DATE"
        Expression="CREATED_DATE"
        SQLType="DATE"/>
      <ViewAttribute
        Name="Status"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="STATUS"
        Expression="STATUS"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="PcCode"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PC_CODE"
        Expression="PC_CODE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="PcLibelle"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="250"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PC_LIBELLE"
        Expression="PC_LIBELLE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="250"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ProfilCode"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="100"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PROFIL_CODE"
        Expression="PROFIL_CODE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="100"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ProfilLibelle"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="250"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PROFIL_LIBELLE"
        Expression="PROFIL_LIBELLE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="250"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ProfilRole"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PROFIL_ROLE"
        Expression="PROFIL_ROLE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="DateDeb"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="oracle.jbo.domain.Date"
        ColumnType="DATE"
        AliasName="DATE_DEB"
        Expression="DATE_DEB"
        SQLType="DATE"/>
      <ViewAttribute
        Name="DateFin"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Type="oracle.jbo.domain.Date"
        ColumnType="DATE"
        AliasName="DATE_FIN"
        Expression="DATE_FIN"
        SQLType="DATE"/>
      <ResourceBundle>
        <PropertiesBundle
          PropertiesFile="model.ModelBundle"/>
      </ResourceBundle>
    </ViewObject>

  5. #25
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Bon j'avoue que j'ai pas trop d'idée sur l'origine de ton problème mais plusieurs points me viennent à l'esprit.

    Pourquoi utilises-tu une vue experte ? Pourquoi ne laisses tu pas faire JDev plutôt ? Normalement lui il se trompe pas

    Ensuite pourquoi est-ce que tu utilises une ViewObject dans une procédure de login ? Ça n'a pas vraiment de sens. Une ViewObject sert à stocker des ViewRow qui elles contiennent les données que tu souhaites présenter. Or toi tu t'en sert uniquement pour exécuter une requête et foutre tout ça dans une session. Tu devrais plutôt écrire la requête toi même ou appeler une procédure stockée pour faire le boulot. Mais je pense que déclarer une vue pour ça est une mauvaise idée.

    Au passage tu pourrais créer un objet genre "UserCredential" dans lequel tu pourrais mettre tout ce que tu veux avec des getter/setter plutôt que de mettre ça en vrac dans ta session.

    Cdt.

  6. #26
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 350
    Points : 84
    Points
    84
    Par défaut
    dans mes tentatives de solution, j'ai generé l'entité agent en utilisant new-> Business Component from Tables. Il a donc créer entity object mais au moment de l'utiliser il m'affiche la meme erreur qu'il ne voit pas la table.
    En utilisant une procédure stockée je serai obligé d'avoir des parametres de type out pour recuperer les valeurs retournées par la requete; ce qui m'a l'air plus compliqué
    Je ne maitrise pas l'objet UserCredential, comment on le créer et on s'en sert?

  7. #27
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Si tu ne veux pas faire une procédure stockée, écris la requête à la main dans ce cas.

    Pour le UserCredentials, c'est juste un nom comme ça, c'est pas une classe standard. L'idée c'est juste de créer une classe qui regroupe les infos de ton utilisateur. Au lieux de stocker en vrac des valeurs dans ta session, tu stockes un objet qui contient tes infos c'est tout.

  8. #28
    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
    oui c'est la configuration de ta connection jdevelopper, on vois bien qu'elle marche ell,e sur ta requête. Mais ta connection dans ton serveur weblogic qu'utilise ton application JSF, on peut la voir?

  9. #29
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 350
    Points : 84
    Points
    84
    Par défaut
    Bonjour , effectivement le problème est lié au schéma sur lequel pointe la data source de weblogic. Il pointait sur un schéma différent de celui de jdev. J'ai donc fait la modification et c'est passé.
    Merci à tous ceux qui m'ont aidé dans la résolution de ce problème.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. ORA-00942: table or view does not exist
    Par complicated dans le forum PL/SQL
    Réponses: 2
    Dernier message: 05/01/2012, 10h45
  2. Erreur : ORA-00942: table or view does not exist
    Par Lolitaaa dans le forum SQL
    Réponses: 2
    Dernier message: 26/07/2010, 19h01
  3. Réponses: 1
    Dernier message: 29/05/2009, 14h23
  4. ORA-00942: table or view does not exist
    Par xoco dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/01/2009, 20h11
  5. Réponses: 0
    Dernier message: 30/12/2008, 11h19

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