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

AS/400 Discussion :

MAJ fichiers iseries d'access via driver ODBC


Sujet :

AS/400

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut MAJ fichiers iseries d'access via driver ODBC
    Bonjour à tous,
    J'essaie de mettre à jour un fichier sur iseries (V5R4) via le driver ODBC de ibm iseries access (V5R4) à partir d'ACCESS 2007.

    Message d'access 2007 : "la table liée ne peut pas être modifiée ..."

    Il me semble que j'ai fait ce qu'il fallait sur iseries, à savoir :

    créer un récepteur (CRTJRNRCV avec paramètres par défaut)
    créer un journal (CRTJRN avec paramètres par défaut)
    puis STRJRNPF avec le fichier que je veux journaliser.

    Si je fais un DSPJRN, je vois bien les modifs effectuées de l'iseries, mais sous access 2007, il ne veut rien entendre. il m'interdit la MAJ ou la création d'enreg.

    D'avance merci à tous ceux qui me répondront.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    La journalisation du fichier n'a pas de rapport avec la mise à jour du fichier. La journalisation, c'est une précaution qui permet d'annuler la mise à jour au cas où.

    Pour ton problème, vérifie au niveau du DSN que tu utilises que tu as bien les droits de MAJ (onglet serveur - lecture/écriture admises). Vérifie également si tu as les droits de création/MAJ au niveau de la table sur le serveur IBM i.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Mercure Voir le message
    La journalisation du fichier n'a pas de rapport avec la mise à jour du fichier. La journalisation, c'est une précaution qui permet d'annuler la mise à jour au cas où.

    Pour ton problème, vérifie au niveau du DSN que tu utilises que tu as bien les droits de MAJ (onglet serveur - lecture/écriture admises). Vérifie également si tu as les droits de création/MAJ au niveau de la table sur le serveur IBM i.
    slt Mercure,

    dans l'onglet serveur j'ai :
    type de connexion:
    utilisation du mode d'acces odbc

    onglet module :
    Utiliser/ajouter

    et je suis administrateur du system i

    d'avance merci pour ta réponse et aide.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Il s'agit peut-être d'une vue et non d'une table et certaines vues ne sont pas "updatable".

    Commencons par le début.
    Depuis un écran 5250 sous STRSQL arrives-tu à modifier la table du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE matable set mazone = mazone

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par K2R400 Voir le message
    Il s'agit peut-être d'une vue et non d'une table et certaines vues ne sont pas "updatable".

    Commencons par le début.
    Depuis un écran 5250 sous STRSQL arrives-tu à modifier la table du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE matable set mazone = mazone
    K2R400,

    Tu vas peut etre te moquer de moi, mais je n'ai pas SQL !!
    SQL sur system i est indispensable pour modifier un fichier via driver odbc ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par inpra Voir le message
    K2R400,

    Tu vas peut etre te moquer de moi, mais je n'ai pas SQL !!
    SQL sur system i est indispensable pour modifier un fichier via driver odbc ?
    Hummm, très bonne question, à vrai dire ce n'est pas impossible mais je n'en sais rien.
    On va procéder par éliminitation :
    Regarde déjà avec un UPDDTA si tu peux mettre à jour ton fichier.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par K2R400 Voir le message
    Hummm, très bonne question, à vrai dire ce n'est pas impossible mais je n'en sais rien.
    On va procéder par éliminitation :
    Regarde déjà avec un UPDDTA si tu peux mettre à jour ton fichier.
    oui je peux mettre à jour mon fichier via UPDDTA (j'ai fait un STRDFU c'est ok)
    modif d'un enreg existant et/ou ajout.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Je n'ai pas ACCESS pour tester, mais chose est sure, ce n'est pas un problème de droit si tu te connectes avec ton profil sous odbc.
    De plus, je présume que tu peux lire les données, non ? ce qui voudrait dire que SQL n'est pas necessaire pour utiliser ODBC.

    Télécharge aussi le dernier service pack de client access ici :
    http://www-03.ibm.com/systems/i/soft...dows/casp.html

    Si ca ne marche toujours pas, essaye de changer de driver, il y en a plusieurs livrés dans iSeries Access for Windaube.

    Après, je cale, il faut éventuellement faire des screens shot de la config des différents onglets de ton driver et les poster ici afin de l'on regarde de plus près.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par K2R400 Voir le message
    Je n'ai pas ACCESS pour tester, mais chose est sure, ce n'est pas un problème de droit si tu te connectes avec ton profil sous odbc.
    De plus, je présume que tu peux lire les données, non ? ce qui voudrait dire que SQL n'est pas necessaire pour utiliser ODBC.

    Télécharge aussi le dernier service pack de client access ici :
    http://www-03.ibm.com/systems/i/soft...dows/casp.html

    Si ca ne marche toujours pas, essaye de changer de driver, il y en a plusieurs livrés dans iSeries Access for Windaube.

    Après, je cale, il faut éventuellement faire des screens shot de la config des différents onglets de ton driver et les poster ici afin de l'on regarde de plus près.
    Je suis en V6R1 service pack SI37891 donc à jour.
    Une question, la journalisation n'est pas nécessaire, pour écrire dans un fichier via ODBC ?

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par inpra Voir le message
    Une question, la journalisation n'est pas nécessaire, pour écrire dans un fichier via ODBC ?
    It's depends.... comme dirait l'autre.
    Celà dépend comment sont codés chaque ordre de mise à jour.
    Un "UPDATE.... with UR" necessite un fichier journalisé, pas un "UPDATE...with NC".

    ODBC en lui même ne nécessite pas de fichiers journalisés.
    Mais dans Access, je ne sais pas ce qu'il essaye de faire.

    Sinon, dans ton driver ODBC tu peux le forcer à travailler sans commitment control (qui ne necessitera pas de journalisation).
    Dans l'onglet SERVEUR, paramètres avancés, mode de validation *NONE.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par K2R400 Voir le message
    It's depends.... comme dirait l'autre.
    Celà dépend comment sont codés chaque ordre de mise à jour.
    Un "UPDATE.... with UR" necessite un fichier journalisé, pas un "UPDATE...with NC".

    ODBC en lui même ne nécessite pas de fichiers journalisés.
    Mais dans Access, je ne sais pas ce qu'il essaye de faire.

    Sinon, dans ton driver ODBC tu peux le forcer à travailler sans commitment control (qui ne necessitera pas de journalisation).
    Dans l'onglet SERVEUR, paramètres avancés, mode de validation *NONE.
    Ne m'engueule pas K2R400.
    J'ai passé le mode de validation à *NONE et tjrs pareil.
    J'accède uniquement à la lecture des fichiers à partir d'une base access existante.

    Et puis j'ai tenté à partir d'une base access vierge, et là miracle ça fonctionne !

    Il m'aurait fallu, une fois la modif effectuée, refaire le lien ODBC sur les fichiers.(c'est pour cela que je dis : ne m'engueule pas)

    Encore merci pour ton aide.

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par inpra Voir le message
    Ne m'engueule pas K2R400.
    lol, c'est pas mon genre.
    Content que ton problème soit résolu, dans tous les cas si d'autres ont le même problème, ce post les aidera surement.

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    inpra,

    Sous MS.Access, comment effectues-tu les mises à jour :
    • En direct dans les tables ?
    • Via VBA ?
    • Requête SQL Access ?


    Citation Envoyé par K2R400
    De plus, je présume que tu peux lire les données, non ? ce qui voudrait dire que SQL n'est pas necessaire pour utiliser ODBC.
    Je confirme, mais vous l'aviez déjà remarqué, n'est-ce pas ?

    Citation Envoyé par inpra
    Et puis j'ai tenté à partir d'une base access vierge, et là miracle ça fonctionne !

    Il m'aurait fallu, une fois la modif effectuée, refaire le lien ODBC sur les fichiers.
    Je ne comprends pas bien comment la mise à jour a fonctionné en refaisant le lien ? Peux-tu m'éclairer, please ?

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Mercure Voir le message
    inpra,

    Sous MS.Access, comment effectues-tu les mises à jour :
    • En direct dans les tables ?
    • Via VBA ?
    • Requête SQL Access ?



    Je confirme, mais vous l'aviez déjà remarqué, n'est-ce pas ?



    Je ne comprends pas bien comment la mise à jour a fonctionné en refaisant le lien ? Peux-tu m'éclairer, please ?
    Bonjour Mercure,

    Au début quand j'ai créé ma source de données via ODBC, je n'ai donné que la lecture aux fichiers et le mode de validation était à : "lecture non validée (*CHG)" (exige donc la journalisation des fichiers pour un accès en écriture).

    J'ai créé donc des tables liées et l'accès n'est qu'en lecture (par rapport à ma config ODBC).

    Et dans un second temps, je voulais faire une MAJ ou ajout dans les fichiers iseries, d'où l'objet de cette discussion.

    Avec l'aide de K2R400, j'ai reconfiguré ma source ODBC (accès lecture/écriture) et mode de validation : validation immédiate (*NONE) donc journalisation des fichiers non indispensable, et avec ces nouveaux paramètres, je devrais pouvoir faire des MAJ directement depuis ACCESS.

    Et bien non !

    J'étais obligé de délier tous les liens ODBC existants dans ma base ACCESS et de relier les fichiers pour que cela fonctionne.

    La MAJ ou AJOUT s'effectue directement dans les fichiers iseries via des requêtes crées depuis ACCESS et ça marche très bien.

    Par contre, il faut que je verrouille bien la sécurité si je veux mettre cela à la disposition de mes users.

    Voilà voilou.

  15. #15
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Merci pour tes explications. Je vois maintenant pourquoi tu as dû rétablir les liens ODBC : les paramètres du DSN ne sont pas dynamiques ( faut pas rêver, MS.Access, c'est du Micro$oft ! ) et sont pris en compte uniquement lors du liage des tables. Et puis, prends garde à la sécurité qui laisse à désirer avec MS.Access, j'ai déjà eu des surprises.

  16. #16
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Points : 152
    Points
    152
    Par défaut Intéressante discutions.
    Je n'ai jamais envisager le clonage AS400<--->MsAcess mais cela donne des idées.
    MErci.

    Question: les mises jour de données ce font dans le sens MSaccess vers AS400 ou dans les deux sens?

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut
    Citation Envoyé par Mercure Voir le message
    La journalisation du fichier n'a pas de rapport avec la mise à jour du fichier
    Il y a un rapport indirect dans le sens où les fichiers non journalés ne peuvent être modifiés que dans une connection en commitment *NONE.
    Sinon on reçoit:
    SQL State: 55019
    Vendor Code: -7008
    Message: [SQL7008] table_name in table_schema not valid for operation. Cause . . . . . : The reason code is 3. Reason codes are: 3 -- table_name not journaled, no authority to the journal, or the journal state is *STANDBY

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Non, aucun rapport. La journalisation n'est en fait pas autre chose qu'une simple sécurité, une option certes intéressante, permettant d'annuler des mises à jour ou de les valider, mais ce n'est jamais qu'une option.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Importation de fichiers Excel Vers Access via macro
    Par brunchinio dans le forum Access
    Réponses: 8
    Dernier message: 23/07/2015, 20h17
  2. Connexion C++ via driver ODBC
    Par guadock dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/11/2011, 13h21
  3. importation Oracle -> Access via l'ODBC
    Par Antoun dans le forum Access
    Réponses: 4
    Dernier message: 19/02/2008, 12h03
  4. [VBA] Création fichier Word par Access via VBA
    Par MadSquirrel dans le forum VBA Word
    Réponses: 2
    Dernier message: 24/09/2006, 15h32
  5. Chargement des drivers access via ODBC sous Qt 3
    Par Higestromm dans le forum Bases de données
    Réponses: 10
    Dernier message: 09/01/2006, 14h30

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