2009-08-24 6 views
0

Ich habe zwei Datenbanken auf dem gleichen Server mit dem gleichen Namen und der anderen Portnummer. Der tnxnames.ora Eintrag sieht aus wie (eigentlich eine Datenbank ein Klon des anderen ist.)Verbindung zu Oracle über VBScript

AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530))) 
(CONNECT_DATA = (SID = AAAA))) 


AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521))) 
(CONNECT_DATA = (SID = AAAA))) 

ich MS-Access bin mit der Anwendung und Verwendung von ADODB-Konnektivität zu entwickeln, auf den Server zuzugreifen. Ich versuche auf die Daten vom Server zuzugreifen. Meine Verbindungszeichenfolge ist wie folgt aussehen:

sConStr = "Driver={oracle in oraclient10g_home1};SERVER=SERVER_NAME;DBQ=AAAA;UID=username;Pwd=pswd" 

Set oConn = New ADODB.Connection 

oConn.connectionstring = sConStr 
oConn.open 

Mein Problem ist, mein ADODB Verbindung immer zu Datenbank-Port-Nummer 1530. Ich bin nicht in der Lage es in dem Connetion-String zu setzen, die Datenbank im Anschluss zuzugreifen 1521

Ist es möglich, die Portnummer in der Verbindungszeichenfolge anzugeben, um auf eine andere Datenbank mit demselben Namen und demselben Server zuzugreifen?

Ich muss die Anwendung für den Zugriff auf die geklonte Datenbank anstelle der ursprünglichen vorbereiten. Nur die Portnummer unterscheidet sich zwischen den Datenbanken.

+0

Hallo, ich bin geschafft, dieses Problem zu lösen. Für die ADODB-Konnektivität ist eine andere Verbindungszeichenfolge verfügbar. DNS weniger Verbindung. Ich benutzte das und erwähnte den tnsnames-Eintrag in der gleichen Connectionstring selbst, der mir hilft, mich mit der Datenbank zu verbinden. – chinnagaja

Antwort

1

können Sie finden diese nützlich: http://www.connectionstrings.com/oracle

+0

Absolut, connectionstrings.com ist dein Freund! –

+0

Ich habe eingecheckt .. Ich benutze "Oracle in OraClient10g" -Treiber und das gleiche in nicht aufgeführt in diesem. Ich akzeptiere Oracle in OraHome92 (Treiber = {Oracle in OraHome92}; Dbq = myTNSServiceName; Uid = myUsername; Pwd = myPassword;) Einstellung ist ähnlich wie meine, aber in meinem Fall ist myTNSServiceName für beide Datenbanken identisch. – chinnagaja

+0

Von dieser Seite habe ich den DNS weniger Connectionstring und ich bin in der Lage zu erreichen, was ich brauchte. – chinnagaja

0

Versuchen Sie, Ihre Portnummer am Ende des Servernamens durch einen Doppelpunkt getrennt hinzuzufügen.

SERVER=SERVER_NAME:1521 

Ich bin kein Oracle-Benutzer, aber das wird mit MS SQL Server arbeiten.

+0

Diese Einstellung nimmt den Servernamen an, erkennt aber die Portnummer nicht! – chinnagaja

0

Das ist eine dumme Frage sein kann ... aber sind diese beiden Einträge in der tnsnames.ora?

AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530))) 
(CONNECT_DATA = (SID = AAAA))) 


AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521))) 
(CONNECT_DATA = (SID = AAAA))) 

Versuchen Sie es zu ändern, damit jeder Name einzigartig ist.

AAAA.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1530))) 
(CONNECT_DATA = (SID = AAAA))) 


AA21.FSA.GOV.UK = 
(DESCRIPTION = 
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = SERVERNAME)(Port = 1521))) 
(CONNECT_DATA = (SID = AAAA))) 

dann auf der Kommandozeile versuchen tnsping AAAA.FSA.GOV.UK und tnsping AAAA21.FSA.GOV.UK

+0

Ich habe das auch versucht. Die ADODB-Verbindung stellt jedoch immer eine Verbindung zur ersten Datenbank her, da beide Datenbanken denselben Benutzernamen und dasselbe Kennwort haben. Ich bin nicht sicher, dass die Ports von der ADODB-Konnektivität erkannt werden. – chinnagaja