Accès base de données - SQL/NoSQL - Programmation
Marsh Posté le 19-12-2007 à 14:38:00
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
|
Marsh Posté le 19-12-2007 à 14:38:27
Pour tester ton tnsnames.ora, lance SQL+, tu verras bien s'il arrive à se connecter à la base.
Marsh Posté le 19-12-2007 à 14:43:51
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
Marsh Posté le 19-12-2007 à 14:49:44
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
Ca fait 30 ans qu'on n'utilise plus de DSN, ce qui rends les applications un peu plus faciles à déployer
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".
Marsh Posté le 19-12-2007 à 14:55:21
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.
Marsh Posté le 19-12-2007 à 16:00:15
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.
Marsh Posté le 19-12-2007 à 16:06:22
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
Marsh Posté le 19-12-2007 à 16:48:15
"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.
Marsh Posté le 19-12-2007 à 14:29:07
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