Pb connexion Instance Oracle (VB) [Résolu]

Messages postés
14
Date d'inscription
mardi 15 mars 2005
Dernière intervention
19 avril 2006
- - Dernière réponse : mrdep1978
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
- 17 oct. 2005 à 14:38
Bonjour

G un souci, je voudrais me connecter à une instance oracle (SID) mais comment faire pour le déclarer dans la chaine de connexion

j'utilise ceci pour me connnecter à oracle :

CNX.Open "Provider=MSDAORA.1;" _
& " User ID=" & util & ";Password=" & pwd & ";" _
& " Data source=" & base & ";"

Avec ce code, j'arrive à me connecter à la base mais comment spécifier le SID car je sais qu'il y a plusieurs instance dans la base oracle.

Merci pour votre aide... c assez urgent

A+
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
3
Merci
J'oubliais : si tu ne veux pas toucher à ton tnsnames.ora, tu peux faire directement :

base = "INST1"

connect="(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.232.50)(PORT = 1521)))(CONNECT_DATA =(SID = " & base & ")))"

CNX.Open "Provider=MSDAORA.1;" _
& " User ID=" & util & ";Password=" & pwd & ";" _
& " Data source=" & connect & ";"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
0
Merci
Salut,

A ma connaissance, tu ne dois préciser le SID dans VB.
Normalement, tu le précises dans ton fichier tnsnames.ora

Si, via sqlplus, tu te connectes à oracle, tu vas utiliser une chaine de connexion de type : sqlplus toto/tata@instance1. Dans ta chaine de connexion VB, "base" doit contenir la valeur instance1, et dans ton fichier TNS, tu vas préciser l'adresse IP et le port du serveur ainsi que le SID de la base à laquelle tu te connectes.

Exemple : tu as 3 instances sur ton serveur : INST1, INST2 et INST3.
Pour y accéder, tu vas avoir 3 descriptions dans ton fichier tnsnames.ora :
INSTANCE1 (DESCRIPTION
(ADDRESS_LIST (ADDRESS (PROTOCOL = TCP)(HOST = 172.18.232.50)(PORT = 1521))
)
(CONNECT_DATA (SID INST1)
)
)

INSTANCE2 (DESCRIPTION
(ADDRESS_LIST (ADDRESS (PROTOCOL = TCP)(HOST = 172.18.232.50)(PORT = 1521))
)
(CONNECT_DATA (SID INST2)
)
)

INSTANCE3 (DESCRIPTION
(ADDRESS_LIST (ADDRESS (PROTOCOL = TCP)(HOST = 172.18.232.50)(PORT = 1521))
)
(CONNECT_DATA (SID INST3)
)
)

Si tu veux te connecter via VB à inst1, tu vas faire
util = "scott"
pwd = "tiger"
base = "instance1"
CNX.Open "Provider=MSDAORA.1;" _
& " User ID=" & util & ";Password=" & pwd & ";" _
& " Data source=" & base & ";"

pour inst2 et inst3, tu auras :
base = "instance2"
et
base = "instance3"

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.