Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2618 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Accès base de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès base de données

n°1660636
pyrof
Posté le 19-12-2007 à 14:29:07  profilanswer
 

Bonjour,
 
Première information je suis débutant en base de donnée.
 
J'ai un problème de connexion avec des bases.
J'utilise excel et ADO pour me connnecter a une base comme suit :
 
Fichier tnsnames.ora :
 
 
bdd01 =  
  (DESCRIPTION =  
    (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(Host = HOST_01)(Port = 1522)))
    (CONNECT_DATA = (SID = bdd01))
  )
 
Ma macro vba :
 
Set BDD.connection = New ADODB.connection
JOS.connection.Open "Provider=MSDAORA.1 ;User ID=bdd01 ;Password=bdd01" ;data source=MASOURCE" ;persist security info=false"
 
Là ça fonctionne
 
Maintenant  
 
Fichier tnsnames.ora :
 
bdd01 =  
  (DESCRIPTION =  
    (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(Host = HOST_01)(Port = 1522)))
    (CONNECT_DATA = (SID = bdd01))
  )
bdd02 =  
  (DESCRIPTION =  
    (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(Host = HOST_02)(Port = 1522)))
    (CONNECT_DATA = (SID = bdd01))
  )
 
et là çà ne fonctionne plus.
 
Premièrement, je ne connaît les liens entre la macro excel et les éléments du tnsnames.ora.
 
Est ce le fait d’avoir SID=bdd01 avec des HOST différents
 
Je ce que je voudrais c'est pouvoir accéder a une base qui porte le même nom mais sur des serveurs différents, simplement en modifiant la macro  
 
JOS.connection.Open "Provider=MSDAORA.1 ;User ID=bdd01 ;Password=bdd01" ;data source=MASOURCE" ;persist security info=false"
 
JOS.connection.Open "Provider=MSDAORA.1 ;User ID=bdd02 ;Password=bdd01" ;data source=MASOURCE" ;persist security info=false"
 
 
 
Merci

mood
Publicité
Posté le 19-12-2007 à 14:29:07  profilanswer
 

n°1660644
MagicBuzz
Posté le 19-12-2007 à 14:38:00  profilanswer
 

HOST, c'est le nom du serveur de base de données.
 
T'es sûr d'avoir deux serveurs différents ?
 
Pour le reste ben... Y'a rien d'anormal... Mise à part le port... C'est 1521 le port Oracle standard...
 
Voilà un exemple de tnsnames.ora (que j'utilise) :
Moi j'utilise "service_name" plutôt que sid, mais logiquement ça revient au même, le sid si ma mémoire est bonne c'est juste pour pouvoir se connecter à des serveurs oracle < 8i


 
XE_SERVEUR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = serveur)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xe)
    )
  )
 
XE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = xe)
    )
  )
 
FGR_TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.201.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test9)
    )
  )
 
FGR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.201.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = GNX)
    )
  )
 
BCI =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = srvgnxtrt)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = gnxbci)
    )
  )
 
 
BCI44 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = srvbci)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = gnx)
    )
  )
 
AZ =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gcebdd)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = GNX)
    )
  )


Message édité par MagicBuzz le 19-12-2007 à 14:42:04
n°1660645
MagicBuzz
Posté le 19-12-2007 à 14:38:27  profilanswer
 

Pour tester ton tnsnames.ora, lance SQL+, tu verras bien s'il arrive à se connecter à la base.

n°1660650
pyrof
Posté le 19-12-2007 à 14:43:51  profilanswer
 


Oui c'est bien des serveurs différents pour plus d'infos 1 en france et 2 autres à l'étranger
 
Pour ce qui est sql+, je ne connais pas
 
pour info si je déclare un seul "HOST" dans le tnsname, ça fonctionne bien
 
Merci à vous

n°1660659
MagicBuzz
Posté le 19-12-2007 à 14:49:44  profilanswer
 

ceci dit, je sais pas pourquoi tu utilises un user différent dans ton connection string.
 
tu passes par un dsn, faut donc clôner ton dsn afin d'utiliser le bon serveur. mais ton user, je doute qu'il soit différent...
 
Et les DSN, c'est d'un autre âge, à l'époque où MS-DOS était considéré comme un OS serveur robuste :o
 
Ca fait 30 ans qu'on n'utilise plus de DSN, ce qui rends les applications un peu plus faciles à déployer :p
http://members.tripod.com/mdameryk [...] essADO.htm
 
Par contre, ça ne te dispense pas malheureusement de remplir le TNSNAMES.ORA, mais ça c'est juste parceque Oracle c'est du résidu de sous-merde arboricole, qui estime que "si ça marche depuis l'invention de la roue, ben c'est ce qu'il y a de mieux".


Message édité par MagicBuzz le 19-12-2007 à 14:50:27
n°1660661
pyrof
Posté le 19-12-2007 à 14:55:21  profilanswer
 


j'utilise un user différent parce ce que je vais faire une boite de  dialogue( excel) pour me demander le pays sur lequel je veux effectuer la requète.
 

n°1660704
MagicBuzz
Posté le 19-12-2007 à 16:00:15  profilanswer
 

Il n'empêche que ton souci ici vient du fait que tu utilises le même DSN, donc tu te connectes au même serveur.

n°1660710
pyrof
Posté le 19-12-2007 à 16:06:22  profilanswer
 

Comme je l'ai dit au début je ne connais rien en matière de BDD
 
DSN: je ne connais
 
 
Merci quand même d'avoir essayé de me dépanner
 
Bonne soirée

n°1660738
MagicBuzz
Posté le 19-12-2007 à 16:48:15  profilanswer
 

"data source=MASOURCE"
 
DSN = Data Source Name. Ou si tu préfères, le truc qui s'appelle "source de données 32 bits" dans le panneau de config ou les outils d'admin de windows, selon ta version.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Accès base de données

 

Sujets relatifs
Pocket PC et accès base de données distanteaccès à une base de données
Base de données Acces ou MySQL ?Base de données Acces complète
Enregistrer des données VB dans une base acces[C#.NET]logiciel GNU et acces a une base de données fichier ?
Accès à la base de données par un utilisateurMyODBC, acces a une base de données distante
[MySQL] Crypter les acces a une base de donnéesSécurité pour accès à une Base de Données SQL ! Need Help
Plus de sujets relatifs à : Accès base de données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR