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

ASP Discussion :

Tables liées Access <=> Oracle


Sujet :

ASP

  1. #1
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut Tables liées Access <=> Oracle
    Bonjour,

    J'ai une base Access dans laquelle j'ai lié une table Oracle (via un DSN).
    J'ai mis :
    pour le compte IUSR_... => controle total
    compte tout le monde => controle total

    Quand je fait un select sur une table (liée ou non), je n'obtiens aucune réponse. Même pas un message d'erreur.

    Alors ma question, est-il possible, via une page ASP, d'interroger une base Access qui contient des tables Oracle liées ?

    Merci

  2. #2
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Ne serait il pas plus simple d'importer ta table Access sous Oracle ??

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    N'y a-t-il pas un mot de passe à saisir dans Access pour accéder à la base Oracle?

    A+

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Merci,

    Je vous mets mon code :
    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
     
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set FieldsRs = Server.CreateObject("ADODB.Recordset")
     
    Conn.Open Application("DSN_MDB")
     
    BD = "c:\databases\LiaisonHR\Liaison.mdb"
     
    Set WS = server.CreateObject("DAO.DBEngine.36")
    set db = WS.Workspaces(0).OpenDatabase(BD)
     
    For i = 0 To db.TableDefs.Count - 1
    	if db.TableDefs(i).Name = "TBL1" then
    		db.TableDefs(i).Connect ="ODBC;DSN=DSN_ORACLE;UID=TOTO;PWD=TITI;"
    		db.TableDefs(i).refreshlink
    		Response.Write db.TableDefs(i).Name & "<br />"
     
    		SQL = "SELECT TBL1.ID from TBL1 where TBL1.ID = '10';"
    '		fieldsrs.Open SQL, Conn, 0, 1
    '		set rs = db.TableDefs(i).OpenRecordSet(SQL)
    '		rs.Close
    '		set rs = Nothing
    '		fieldsrs.Close
     
    	end if
    next
     
    db.Close
    Set db = Nothing
    Set WS = Nothing
    Le response.write m'affiche bien le nom de la table
    Si je fais une requête sur une des tables Access, j'obtiens le résultat attendu
    Si je fais une requête sur une table Oracle liée, je n'obtiens aucun résultat. Je n'ai pas de message d'erreur.
    Je suis obligé de fermer mon navigateur.
    La base est alors verrouillée et le serveur ne répond plus pour les autres applis.
    Je dois redémarrer mon serveur.

    Si vous voyez une coquille dans mon code ou si je me plante dans ma démarche, je suis à votre écoute.

    Merci.

  5. #5
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Pourquoi tu ouvres en boucles la bd Oracle ??

    Il serait plus judicieux d'ouvrir une fois oracle tout comme tu ouvre Access une seule fois.

    Ensuite, il me semble que dans une requête Acces, tu peux ouvrir une table provenant d'une autre base je ne sais plus exactement la syntaxe, vague impression d'ancien cours, cela doit sûrement se trouver avec notre ami Gougle

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Quand tu ouvres la table Oracle liée, dois-tu taper un mot de passe?

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Merci de vos réponses,

    Bon, j'ai cherché un peu et je parviens enfin à afficher des données d'une table liée.

    Je vous joints le code car je ne suis pas persuadé de la méthode. Donc si vous avez des commentaires ou des critiques, je prends.

    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
     
    BD = "c:\databases\LiaisonHR\Liaison.mdb"
     
    Set WS = server.CreateObject("DAO.DBEngine.36")
    set db = WS.Workspaces(0).OpenDatabase(BD)
     
    For i = 0 To db.TableDefs.Count - 1
    	db.TableDefs(i).Connect ="ODBC;DSN=" & DSNORACLE & ";UID=TOTO;PWD=TITI;"
    	db.TableDefs(i).refreshlink
    next
     
    SQL = "SELECT TBL1.ID "
    SQL = SQL & "FROM TBL1 "
    SQL = SQL & "where TBL1.ID = '10';"
     
    Set fieldsrs = db.OpenRecordset(SQL)
    do while not fieldsrs.eof
    	Response.Write fieldsrs(0).value & " " & fieldsrs(1).value & "<br>"
    	fieldsrs.movenext
    loop
    fieldsrs.Close
    Set fieldsrs = nothing
     
    db.Close
    Set db = Nothing
    Set WS = Nothing

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Ben à part mettre tout ça dans une procedure, mettre le chemin de la base dans une variable d'application, et ne pas concaténer mais plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL = "SELECT TBL1.ID " & _
        "FROM TBL1 " & _
        "where TBL1.ID = '10';"
    Rien à redire car je ne connais pas "DAO.DBEngine.36".

    A+

  9. #9
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Merci.

    Je mets résolu, car à priori, je récupère bien mes données, mais ça ne choque personne d'être obligé de faire un connect sur chacune des tables liées ?

    Le fait de rafraichir les liens de chaque table ne me gène pas, mais une connection à la base m'aurai paru suffisant non ?

  10. #10
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Pas moi. Si une identification n'est pas forcement necessaire (l'authentifiaction NTFS suffit) pour accéder à la base Access, il n'en va pas de même pour la base Oracle (ou MS Sql Server). Il n'y a pas de relation d'approbation ou de délégation entre les deux.
    Heureusement d'ailleurs ce serait dangereux sinon.

    A+

  11. #11
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    OK, Merci

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

Discussions similaires

  1. Tables liées Access 2002 et Oracle
    Par lerico dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/09/2008, 16h12
  2. modification structure table liée access 2003
    Par olivierbro dans le forum Windows
    Réponses: 0
    Dernier message: 23/04/2008, 15h13
  3. Mot de passe tables liées Access 2007
    Par Baillot Philippe dans le forum Access
    Réponses: 2
    Dernier message: 10/02/2008, 20h44
  4. Réponses: 2
    Dernier message: 24/10/2007, 10h17
  5. [DDE]Tables liées Access / Oracle
    Par wismerhill dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2007, 10h18

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