Pb connexion Instance Oracle (VB)

Résolu
ggsab62 Messages postés 14 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 19 avril 2006 - 17 oct. 2005 à 12:09
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre 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+

2 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
17 oct. 2005 à 14:38
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 & ";"
3
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
17 oct. 2005 à 14:35
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"
0
Rejoignez-nous