Wenn ich das Datenquellen-Explorer-Fenster öffne und versuche, ein neues Verbindungsprofil zu erstellen, wähle ich "Oracle", den Oracle Thin Driver, und dann zeige ich es auf die folgende JAR-Datei auf meinem PC:Die Eclipse-Datenquelle konnte mit 12c jar nicht in Oracle 12c erstellt werden. Aber 11g funktioniert
C:\oracle_12101_64bit\product\12101_64bit\CLIENT_1\jdbc\lib\ojdbc7.jar
Nachdem die Verbindungsparameter liefert, leitet er eine Verbindung uRL in folgendem Format mit dem
jdbc:oracle:thin:@host:PORT:SID
jedoch, was ich will es diese abzuleiten ist (man beachte den Doppelpunkt anstelle eines Schrägstrich)
jdbc:oracle:thin:@host:PORT/SID
Ich scheine in der Lage sein, 11g Datenbanken mit der generierten URL verbinden, aber keine 12c, ich weiß nicht, ob dies zufällig ist oder wenn ich ein anderes Problem habe.
In meinem Programm verwende ich JPA und es liest eine Verbindungs-URL aus meiner Konfigurationsdatei im gewünschten Schrägstrichformat und das Programm kann eine Verbindung herstellen und die Verbindung schlägt fehl, wenn ich die URL stattdessen einen Doppelpunkt verwenden.
Wie erstelle ich ein Verbindungsprofil in der Datenquellenexplorersicht des Eclipse, wenn ich die abgeleitete Verbindungsurl nicht steuern kann, um eine URL mit einem Schrägstrich anstelle eines Doppelpunkts zu erzeugen? Der Fehler Ich erhalte ist:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
Update 1
Eine Sache, die ich muss darauf hingewiesen, dass selbst wenn ich die jdbc7.jar Datei verknüpfen, die mit Oracle 12c kommt, immer noch der Fahrer angezeigt wird, wie obwohl es "Oracle 11" ist
Update 2:
Hier ist ein Beispiel dessen, was in meiner Datei tnsnames.ora:
AFDEDEV.MYCO.COM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = servername.sys.MYCO.com)(PORT = 2))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = afdedev.MYCO.com)
)
)
Es ist wie der Verbindungszeichenfolge sieht Builder erwartet nur eine SID. Was wäre meine SID oder wie kann ich herausfinden? Ich habe sowohl AFDEDEV als auch AFDEDEV.MYCO.COM ausprobiert. Im 11g Fall, der funktioniert hat, habe ich das Äquivalent von AFDEDEV verwendet. Sorry, ich verstehe SIDs vs. SERVICE NAMES nicht so gut. Gibt es eine Abfrage, die ich gegen die DB ausführen könnte, um mir die SID zu sagen?
Das '/' Format verwendet den Dienstnamen, nicht die SID. Vielleicht funktioniert es in 11g, weil diese in dieser Datenbank gleich sind, aber in Ihrer 12c-Instanz unterschiedlich sind. Oder Sie haben eine 11g listener.ora, die die SIDs definiert, während Ihre 12c dies nicht tut. Gibt Ihnen Eclipse die Möglichkeit anzugeben, ob Sie den SID- oder Dienstnamen angeben? –
@Alex: Danke. Bitte beachten Sie den Text unter UPDATE 2 im ursprünglichen Post. – ChadD
Ich habe auch keine listener.ora-Datei und habe sie nie aktualisiert, nicht sicher, wofür es ist. – ChadD