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

VBA Access Discussion :

Liaison ODBC Oracle en lecture seule [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut Liaison ODBC Oracle en lecture seule
    Bonjour,

    J'utilise Access en frontal sur une base Oracle. Cette base Oracle possède plusieurs schémas identiques.
    Sur mon frontal, l'utilisateur choisit son schéma auquel il veut se connecter.
    Ensuite mon programme déconnecte toutes les tables attachées Oracle et se reconnecte ensuite sur le bon schéma.

    Mon problème se situe au niveau du code de rattachement des tables. En effet, il attache bien toutes les tables Oracle mais celles-ci sont en lecture seule uniquement. Alors que si je procède manuellement (lier les tables --> tables odbc --> je choisis ma liaison --> je choisis mes tables), les tables sont bien en lecture/écriture.

    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
     
    Const ServerOracle = "MonServeurOracle"
    Const DSN = "MonDSN"
    Const UserId = "MonUser"
    Const Pwd = "MonPwd"
     
    Private Sub ConnexionTablesOracle()
     
        Dim db As Database, tbl As TableDef
        Dim rst As Recordset
     
        Set db = CurrentDb
        Set rst = db.OpenRecordset("Select * From [Liste des Tables Oracle à charger]")
        rst.MoveFirst
        While Not rst.EOF
            Set tbl = db.CreateTableDef(rst![Nom Access])
            tbl.Connect = "ODBC;DSN=" & DSN & ";DBQ=" & ServerOracle & ";UID=" & UserId & ";PWD=" & Pwd & ";DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;"
            tbl.SourceTableName = rst![Nom Oracle]
            tbl.Name = rst![Nom Access]
            db.TableDefs.Append tbl
            tbl.RefreshLink
            rst.MoveNext
        Wend
        rst.Close
        Set rst = Nothing
     
    End Sub
    J'ai bien vérifié que la propriété Connect est identique entre une table liée manuellement ou liée par ce code. Les tables Oracle ont bien toutes une clef primaire.

    Qu'ai-je bien pu oublié ?

    PS : à noter que sous Access 2007 (même version d'Oracle, même version de drivers ODBC), ce code fonctionne parfaitement, les tables sont en lecture/écriture.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Au temps pour moi, le code fonctionne parfaitement. C'est juste mon poste en Access 2003 qui avait besoin d'un petit redémarrage. Les mystères de Windows, quoi...

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

Discussions similaires

  1. [AC-2007] problème liaison odbc oracle
    Par cedriclj dans le forum Access
    Réponses: 7
    Dernier message: 11/10/2012, 10h20
  2. Requete ODBC toujours en lecture seule ?
    Par Jean-Pierre49 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/04/2008, 17h52
  3. SQL Server, ODBC et lecture seule
    Par zouhenlai dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/10/2007, 10h02
  4. SQL Server, ODBC et lecture seule
    Par zouhenlai dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/10/2007, 17h12
  5. Réponses: 3
    Dernier message: 31/01/2005, 23h24

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